[U-Boot] Linux booting speed up.

I am using UBoot on a AT91RM9200 target supporting Linux 2.4.27. I would like to accelerate the boot process, while keeping Kernel and RamDisk compressed on Flash EPROM.
10100000 address of compressed Kernel on Flash. 10200000 address of compressed RamDisk on Flash. 21100000 address of uncompressed RamDisk on SDRAM bootcmd= cp.l 10200000 21100000 140010; bootm 10100000 21100000
Instead of copying the compressed RamDisk Flash code to SDRAM, and then instructing the kernel to decompress the RamDisk, can U Boot uncompress the RamDisk on behalf of the Kernel, then presenting the kernel with an uncompressed Ramdisk image ? The idea is to skip the step of simply copying a compressed image from Flash to SDRAM, but directly uncompressing the Flash image to SDRAM.
Sure this can be accomplished patching U Boot ad hoc, but can it be done through standard commands and variables ?
In other words, it would be great to uncompress a Flash image to a SDRAM address retrieved from its Load address, leaving in SDRAM an uncompressed image (with an updated header of course)....
Thank you for your attention.

Dear Michele,
In message BA4D40DBFB024E51BCB0052BCFB5199E@ebneuro.intranet you wrote:
I am using UBoot on a AT91RM9200 target supporting Linux 2.4.27. I would like to accelerate the boot process, while keeping Kernel and RamDisk compressed on Flash EPROM.
...
Instead of copying the compressed RamDisk Flash code to SDRAM, and then
Rather than doing this, I would teach the kernel to deal with a ramdisk image in flash. This has been done before. Patches (and references to the patches) have been postewd on this list multiple times.
to decompress the RamDisk, can U Boot uncompress the RamDisk on behalf of the Kernel, then presenting
U-Boot can do nothing "on behalf of the Kernel", because U-Boot doesn't exist any more once the kernel booted.
But of course U-Boot can load and uncompress the ramdisk image and pass the address of the uncompressed image to the kernel. See the FAQ.
The idea is to skip the step of simply copying a compressed image from Flash to SDRAM, but directly uncompressing the Flash image to SDRAM.
This is easier to solve by teaching your Linux kernel to be a bit more clever.
Sure this can be accomplished patching U Boot ad hoc, but can it be done through standard commands and variables ?
Yes, see above.
Also keep in mind that turning of the checksums (verify=no) helps a bit.
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Nothing ever becomes real until it is experienced. - John Keats

Dear Michele,
In message BA4D40DBFB024E51BCB0052BCFB5199E@ebneuro.intranet you wrote:
I am using UBoot on a AT91RM9200 target supporting Linux 2.4.27. I would like to accelerate the boot process, while keeping Kernel and RamDisk compressed on Flash EPROM.
Not to forget: using a ramdisk itself is a major mistake if you look for fast boot times. See for example http://www.denx.de/wiki/view/DULG/RootFileSystemSelection
Using a crafs file system image instead of a ramdisk often saves 30...50% of the boot time.
Best regards,
Wolfgang Denk
participants (2)
-
Michele Venturi
-
Wolfgang Denk