[U-Boot-Users] [PATCH] Replace "run load; run update" with conditionalized "run load update".

The latter version stops when "run load" fails for whatever reasons rendering the combination *a lot* more secure.
Signed-off-by: Detlev Zundel dzu@denx.de --- include/configs/MPC8349EMDS.h | 2 +- include/configs/P3G4.h | 2 +- include/configs/TQM8272.h | 2 +- include/configs/TQM834x.h | 2 +- include/configs/TQM85xx.h | 2 +- include/configs/alpr.h | 2 +- include/configs/bamboo.h | 2 +- include/configs/bubinga.h | 2 +- include/configs/ebony.h | 2 +- include/configs/hcu4.h | 2 +- include/configs/hcu5.h | 2 +- include/configs/ixdpg425.h | 2 +- include/configs/katmai.h | 2 +- include/configs/korat.h | 2 +- include/configs/luan.h | 2 +- include/configs/lwmon5.h | 2 +- include/configs/ocotea.h | 2 +- include/configs/p3mx.h | 2 +- include/configs/p3p440.h | 2 +- include/configs/pcs440ep.h | 2 +- include/configs/pdnb3.h | 2 +- include/configs/sbc8349.h | 2 +- include/configs/sequoia.h | 2 +- include/configs/taihu.h | 2 +- include/configs/taishan.h | 2 +- include/configs/walnut.h | 2 +- include/configs/yosemite.h | 2 +- include/configs/yucca.h | 4 ++-- 28 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h index b98d8b1..07fefec 100644 --- a/include/configs/MPC8349EMDS.h +++ b/include/configs/MPC8349EMDS.h @@ -739,7 +739,7 @@ "load=tftp 100000 /tftpboot/mpc8349emds/u-boot.bin\0" \ "update=protect off fe000000 fe03ffff; " \ "era fe000000 fe03ffff; cp.b 100000 fe000000 ${filesize}\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "fdtaddr=400000\0" \ "fdtfile=mpc8349emds.dtb\0" \ "" diff --git a/include/configs/P3G4.h b/include/configs/P3G4.h index 74ef470..e85e1b9 100644 --- a/include/configs/P3G4.h +++ b/include/configs/P3G4.h @@ -110,7 +110,7 @@ "update=protect off fff00000 fff3ffff;era fff00000 fff3ffff;" \ "cp.b 100000 fff00000 ${filesize};" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/TQM8272.h b/include/configs/TQM8272.h index 9e408f4..ba0402d 100644 --- a/include/configs/TQM8272.h +++ b/include/configs/TQM8272.h @@ -87,7 +87,7 @@ "cp.b 300000 40000000 40000;" \ "setenv filesize;saveenv\0" \ "cphwib=cp.b 4003fc00 33fc00 400\0" \ - "upd=run load;run cphwib;run update\0" \ + "upd=run load cphwib update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h index c7b38a2..02a16ac 100644 --- a/include/configs/TQM834x.h +++ b/include/configs/TQM834x.h @@ -528,7 +528,7 @@ extern int tqm834x_num_flash_banks; "load=tftp 100000 /tftpboot/tqm834x/u-boot.bin\0" \ "update=protect off 80000000 8003ffff; " \ "era 80000000 8003ffff; cp.b 100000 80000000 40000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ ""
#define CONFIG_BOOTCOMMAND "run flash_self" diff --git a/include/configs/TQM85xx.h b/include/configs/TQM85xx.h index dd0654b..21e8baf 100644 --- a/include/configs/TQM85xx.h +++ b/include/configs/TQM85xx.h @@ -468,7 +468,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/alpr.h b/include/configs/alpr.h index cfe08c8..38fb7c6 100644 --- a/include/configs/alpr.h +++ b/include/configs/alpr.h @@ -166,7 +166,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "ethprime=ppc_4xx_eth3\0" \ "ethact=ppc_4xx_eth3\0" \ "autoload=no\0" \ diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h index f9ffa49..4ea040b 100644 --- a/include/configs/bamboo.h +++ b/include/configs/bamboo.h @@ -276,7 +276,7 @@ "update=protect off fffa0000 ffffffff;era fffa0000 ffffffff;" \ "cp.b 100000 fffa0000 60000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/bubinga.h b/include/configs/bubinga.h index bec03d4..784e7c0 100644 --- a/include/configs/bubinga.h +++ b/include/configs/bubinga.h @@ -111,7 +111,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run net_nfs"
diff --git a/include/configs/ebony.h b/include/configs/ebony.h index 3e4aee4..88fd7ca 100644 --- a/include/configs/ebony.h +++ b/include/configs/ebony.h @@ -184,7 +184,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/hcu4.h b/include/configs/hcu4.h index e29cfe7..5a85feb 100644 --- a/include/configs/hcu4.h +++ b/include/configs/hcu4.h @@ -192,7 +192,7 @@ "load=tftp 100000 hcu4/u-boot.bin\0" \ "update=protect off FFFB0000 FFFFFFFF;era FFFB0000 FFFFFFFF;" \ "cp.b 100000 FFFB0000 50000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "vx_rom=hcu4/hcu4_vx_rom\0" \ "vx=tftp ${loadaddr} ${vx_rom};run vxargs; bootvx\0" \ "vxargs=setenv bootargs emac(0,0)c:${vx_rom} e=${ipaddr}" \ diff --git a/include/configs/hcu5.h b/include/configs/hcu5.h index 8c26613..2ed8530 100644 --- a/include/configs/hcu5.h +++ b/include/configs/hcu5.h @@ -199,7 +199,7 @@ "load=tftp 100000 hcu5/u-boot.bin\0" \ "update=protect off FFFB0000 FFFFFFFF;era FFFB0000 FFFFFFFF;" \ "cp.b 100000 FFFB0000 50000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "vx_rom=hcu5/hcu5_vx_rom\0" \ "vx=tftp ${loadaddr} ${vx_rom};run vxargs; bootvx\0" \ "vxargs=setenv bootargs emac(0,0)c:${vx_rom} e=${ipaddr}" \ diff --git a/include/configs/ixdpg425.h b/include/configs/ixdpg425.h index 465eaa2..a3be0b5 100644 --- a/include/configs/ixdpg425.h +++ b/include/configs/ixdpg425.h @@ -168,7 +168,7 @@ "update=protect off 50000000 5003ffff;era 50000000 5003ffff;" \ "cp.b 100000 50000000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run net_nfs"
diff --git a/include/configs/katmai.h b/include/configs/katmai.h index b28236b..21b2604 100644 --- a/include/configs/katmai.h +++ b/include/configs/katmai.h @@ -209,7 +209,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b ${fileaddr} fffc0000 ${filesize};" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "kozio=bootm ffc60000\0" \ "pciconfighost=1\0" \ "pcie_mode=RP:RP:RP\0" \ diff --git a/include/configs/korat.h b/include/configs/korat.h index 88e50d7..dcec9b0 100644 --- a/include/configs/korat.h +++ b/include/configs/korat.h @@ -202,7 +202,7 @@ "load=tftp 200000 /tftpboot/${hostname}/u-boot.bin\0" \ "update=protect off FFFA0000 FFFFFFFF;era FFFA0000 FFFFFFFF;" \ "cp.b 200000 FFFA0000 60000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/luan.h b/include/configs/luan.h index 051252e..af237d9 100644 --- a/include/configs/luan.h +++ b/include/configs/luan.h @@ -182,7 +182,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h index 97e8bf1..c3f10c7 100644 --- a/include/configs/lwmon5.h +++ b/include/configs/lwmon5.h @@ -219,7 +219,7 @@ "load=tftp 200000 /tftpboot/${hostname}/u-boot.bin\0" \ "update=protect off FFF80000 FFFFFFFF;era FFF80000 FFFFFFFF;" \ "cp.b 200000 FFF80000 80000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "lwe_env=tftp 200000 /tftpboot.dev/lwmon5/env_uboot.bin;" \ "autoscr 200000\0" \ "" diff --git a/include/configs/ocotea.h b/include/configs/ocotea.h index 9f67993..5a6eb4a 100644 --- a/include/configs/ocotea.h +++ b/include/configs/ocotea.h @@ -199,7 +199,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/p3mx.h b/include/configs/p3mx.h index bec442d..45dc343 100644 --- a/include/configs/p3mx.h +++ b/include/configs/p3mx.h @@ -219,7 +219,7 @@ "update=protect off fff00000 fff3ffff;era fff00000 fff3ffff;" \ "cp.b 100000 fff00000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "serverip=11.0.0.152\0"
#if defined (CONFIG_P3M750) diff --git a/include/configs/p3p440.h b/include/configs/p3p440.h index 139175e..82f2391 100644 --- a/include/configs/p3p440.h +++ b/include/configs/p3p440.h @@ -147,7 +147,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "unlock=yes\0" \ "" #define CONFIG_BOOTCOMMAND "run net_nfs" diff --git a/include/configs/pcs440ep.h b/include/configs/pcs440ep.h index b666964..893924b 100644 --- a/include/configs/pcs440ep.h +++ b/include/configs/pcs440ep.h @@ -172,7 +172,7 @@ "load=tftp 100000 /tftpboot/pcs440ep/u-boot.bin\0" \ "update=protect off FFFA0000 FFFFFFFF;era FFFA0000 FFFFFFFF;" \ "cp.b 100000 FFFA0000 60000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/pdnb3.h b/include/configs/pdnb3.h index 9d598fe..ed41b2f 100644 --- a/include/configs/pdnb3.h +++ b/include/configs/pdnb3.h @@ -170,7 +170,7 @@ "update=protect off 50000000 5007dfff;era 50000000 5007dfff;" \ "cp.b 100000 50000000 ${filesize};" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "ipaddr=10.0.0.233\0" \ "serverip=10.0.0.152\0" \ "netmask=255.255.0.0\0" \ diff --git a/include/configs/sbc8349.h b/include/configs/sbc8349.h index 2498b3e..d00c22f 100644 --- a/include/configs/sbc8349.h +++ b/include/configs/sbc8349.h @@ -688,7 +688,7 @@ "load=tftp 100000 /tftpboot/sbc8349/u-boot.bin\0" \ "update=protect off fff00000 fff3ffff; " \ "era fff00000 fff3ffff; cp.b 100000 fff00000 ${filesize}\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "fdtaddr=400000\0" \ "fdtfile=sbc8349.dtb\0" \ "" diff --git a/include/configs/sequoia.h b/include/configs/sequoia.h index 92f1ee4..cc910de 100644 --- a/include/configs/sequoia.h +++ b/include/configs/sequoia.h @@ -284,7 +284,7 @@ "load=tftp 200000 /tftpboot/${hostname}/u-boot.bin\0" \ "update=protect off FFFA0000 FFFFFFFF;era FFFA0000 FFFFFFFF;" \ "cp.b 200000 FFFA0000 60000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/taihu.h b/include/configs/taihu.h index a450c5b..7db9736 100644 --- a/include/configs/taihu.h +++ b/include/configs/taihu.h @@ -99,7 +99,7 @@ "load=tftp 200000 /tftpboot/taihu/u-boot.bin\0" \ "update=protect off FFFC0000 FFFFFFFF;era FFFC0000 FFFFFFFF;" \ "cp.b 200000 FFFC0000 40000\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/taishan.h b/include/configs/taishan.h index 7662169..851a7ad 100644 --- a/include/configs/taishan.h +++ b/include/configs/taishan.h @@ -194,7 +194,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "fixedip=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):" \ "$(gatewayip):$(netmask):$(hostname):$(netdev):off panic=1\0" \ "dhcp=setenv bootargs $(bootargs) ip=dhcp\0" \ diff --git a/include/configs/walnut.h b/include/configs/walnut.h index b83660c..f6e99ac 100644 --- a/include/configs/walnut.h +++ b/include/configs/walnut.h @@ -73,7 +73,7 @@ "update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \ "cp.b 100000 fffc0000 40000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run net_nfs"
diff --git a/include/configs/yosemite.h b/include/configs/yosemite.h index 225308f..c9323f6 100644 --- a/include/configs/yosemite.h +++ b/include/configs/yosemite.h @@ -209,7 +209,7 @@ "update=protect off fff80000 ffffffff;era fff80000 ffffffff;" \ "cp.b 200000 fff80000 80000;" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "" #define CONFIG_BOOTCOMMAND "run flash_self"
diff --git a/include/configs/yucca.h b/include/configs/yucca.h index 9538c0d..1e3571e 100644 --- a/include/configs/yucca.h +++ b/include/configs/yucca.h @@ -175,7 +175,7 @@ "bootm ${kernel_addr} ${ramdisk_addr}\0" \ "net_nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;" \ "bootm\0" \ - "rootpath=/opt/eldk/ppc_4xx\0" \ + "rootpath=/opt/eldk/ppc_4xx\0" \ "bootfile=yucca/uImage\0" \ "kernel_addr=E7F10000\0" \ "ramdisk_addr=E7F20000\0" \ @@ -184,7 +184,7 @@ "update=protect off 2:4-7;era 2:4-7;" \ "cp.b ${fileaddr} FFFB0000 ${filesize};" \ "setenv filesize;saveenv\0" \ - "upd=run load;run update\0" \ + "upd=run load update\0" \ "pciconfighost=1\0" \ "pcie_mode=RP:EP:EP\0" \ ""

On Thursday 06 March 2008, Detlev Zundel wrote:
The latter version stops when "run load" fails for whatever reasons rendering the combination *a lot* more secure.
Signed-off-by: Detlev Zundel dzu@denx.de
Thanks for spotting.
Signed-off-by: Stefan Roese sr@denx.de
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================

Hi Stefan,
On Thursday 06 March 2008, Detlev Zundel wrote:
The latter version stops when "run load" fails for whatever reasons rendering the combination *a lot* more secure.
Signed-off-by: Detlev Zundel dzu@denx.de
Thanks for spotting.
Actually the sequoia part of the patch bit Markus hard preparing for a training. To put the board into a defined state he first erased the environment, reset the board and did a "run upd". Seemed a pretty natural thing to do, but becourse of the erased environment, the tftp failed and because of the ";" u-boot was erased anyway.
The nasty part he only realized at that moment - although he had U-Boot still running, tftp would only work with "ethaddr" set _after_ a reset :(
Oddly enough, a BDI penalty loop reflashing a board reminds me a lot of biathlon...
Cheers Detlev
PS: Yes I know, he could have used serial download or even a USB stick, but we only realized that later.

In message m2y78v24ot.fsf@ohwell.denx.de you wrote:
PS: Yes I know, he could have used serial download or even a USB stick, but we only realized that later.
Markus can make this a examination question for his training:
List at least 5 different ways to recover U-Boot on a running board without using Ethernet download.
[It's a pity that we don't have firewire support yet.]
Best regards,
Wolfgang Denk

In message 1204818353-15841-1-git-send-email-dzu@denx.de you wrote:
The latter version stops when "run load" fails for whatever reasons rendering the combination *a lot* more secure.
Signed-off-by: Detlev Zundel dzu@denx.de
Applied, thanks.
Best regards,
Wolfgang Denk
participants (3)
-
Detlev Zundel
-
Stefan Roese
-
Wolfgang Denk