[Buildroot] Squashfs boot

Stefan Fröberg stefan.froberg at petroprogram.com
Sat Jan 26 23:04:22 UTC 2013


27.1.2013 0:38, Arnout Vandecappelle kirjoitti:
> On 01/25/13 22:55, Stefan Fröberg wrote:
>> Hello Stephen
>>
>> I made a quick conversion of my LiveCD initramfs stuff to squashfs image
>> file and then played little bit with it and kernel image
>> with the help of qemu. (took less time than starting all
>> reconfiguring/combiling from buildroot)
>>
>> The good news is that yes, it should be doable to do boot directly from
>> squashfs root image.
>>
>> For example I did this to start it (ramdisk_size is in kilobytes):
>>
>> qemu-system-i386 -kernel bzImage -initrd rootfs.sqfs -append
>> "ramdisk_size=131072"
>>
>> It first tries to unpack rootfs as initramfs and then it notices that
>> it's not initramfs but traditional,
>> older version of initrd file. (please see root.png).
>>
>> After that it should print RAMDISK: squashfs filesystem found and start
>> automatically loading it to ram.
>> (please see root2.png)
>>
>> After that it continues normally and starts the normal init process.
>>
>> And now the bad news:
>>
>> - Takes a lot of memory. This is old style initrd stuff (time when 2.4
>> kernel was still hot and new).
>
>  Yes, using squashfs as initrd is probably not what you want: it will
> load the entire squashfs into memory (albeit compressed), and then
> copy it (and decompress) when you access it.
>
>  The typical way to use squashfs is as a partition of your disk. So if
> you'd boot from a USB stick, you'd make two partitions: an ext2 for
> grub and the kernel, and a second one for the squashfs. To install it,
> just do "cat output/images/rootfs.sqfs > /dev/sdb2" (assuming your USB
> key is /dev/sdb and squashfs is the second partition). When booting,
> you append the following the kernel command line: "root=/dev/sda2
> rootwait" (assuming there's no hard disk or anything so the USB key
> will end up as /dev/sda).
>

But I understanded that he didn't want to use partition to boot but
directly from squashfs image.
At least that's how I understanded this part in his message:  "It would
be ideal to run the systems from a file instead of dd a image to an area"


Regards
Stefan





More information about the buildroot mailing list