
2013.01.07. 18:15 keltezéssel, Daniel Schwierzeck írta:
2013/1/7 Gabor Juhos juhosg@openwrt.org:
The bootm command supports subcommands since long time however those subcommands are not yet usable on MIPS.
The patch is based on the ARM implementation, and it adds support for the 'prep' and 'go' subcommands only.
Signed-off-by: Gabor Juhos juhosg@openwrt.org Cc: Daniel Schwierzeck daniel.schwierzeck@googlemail.com
arch/mips/lib/bootm.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
thanks but how did you test it?
I have tested it with the following commands:
U-Boot> setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1 U-Boot> tftp 0xa0800000 openwrt-ath79-uImage-initramfs-lzma.bin dup 1 speed 100 Using eth0 device TFTP from server 192.168.1.254; our IP address is 192.168.1.1 Filename 'openwrt-ath79-uImage-initramfs-lzma.bin'. Load address: 0xa0800000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ########################################################### done Bytes transferred = 2627082 (28160a hex) U-Boot> bootm loados Trying to execute a command out of order bootm - boot application image from memory
U-Boot> bootm start 0xa0800000 ## Booting kernel from Legacy Image at a0800000 ... Image Name: MIPS OpenWrt Linux-3.8-rc2 Created: 2013-01-07 19:19:26 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 2627018 Bytes = 2.5 MiB Load Address: 80100000 Entry Point: 80100000 Verifying Checksum ... OK U-Boot> bootm loados Uncompressing Kernel Image ... OK U-Boot> bootm prep U-Boot> bootm go
Starting kernel ...
Linux version 3.8.0-rc2 (juhosg@mag2) (gcc version 4.6.4 20121106 (prerelease) (Linaro GCC 4.6-2012.11) ) #24 Mon Jan 7 20:19:20 CET 2013 bootconsole [early0] enabled CPU revision is: 00019374 (MIPS 24Kc) ...
I needed to fix a relocation problem in cmd_bootm.c [1] to make it properly working.
Hm, I think that I know why I did not notice that. I have tested it on a board which uses an old U-Boot version as the primary bootloader. Because lots of features are disabled in that I have compiled a more usable version and I'm using that as a 2nd stage loader. It is loaded to address 0x80060000 by the original bootloader. The Linux kernel uncompressed to 0x80100000 so it did not clobber the strings.
I have queued all three patches at u-boot-mips/testing for now. I will merge them when my patch is in mainline.
Thanks!
-Gabor