From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] Squashfs boot
Date: Sat, 26 Jan 2013 23:38:12 +0100 [thread overview]
Message-ID: <51045AD4.1000100@mind.be> (raw)
In-Reply-To: <5102FF4E.1060405@petroprogram.com>
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).
> - Squashfs is read-only so if you use mdev or udev then expect little
> troubles (please see root3.png).
>
> However maybe buildroot init already takes care of those ????
Copy fs/cpio/init to output/target/init and all will be well.
Regards,
Arnout
[snip]
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
next prev parent reply other threads:[~2013-01-26 22:38 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAN_xxrWTp21-a-jD7x11yJa6ghM=C=ON2h_bx_is1iFhEkE0bQ@mail.gmail.com>
2013-01-22 1:25 ` [Buildroot] Squashfs boot Stephen Turner
2013-01-22 12:41 ` Stefan Fröberg
[not found] ` <CAN_xxrVD=Tq=ekME-jdHKRzyUwXk0PMocQX9mrxxcgjZQ8SYqA@mail.gmail.com>
2013-01-22 17:49 ` Stefan Fröberg
[not found] ` <CAN_xxrXZWmhECAH1JfgvHk+U_wksdZ0ZyxpcaSea8KsEYy04mw@mail.gmail.com>
2013-01-22 19:39 ` Stefan Fröberg
2013-01-22 20:20 ` Peter Korsgaard
2013-01-23 15:57 ` Thomas Petazzoni
2013-01-23 16:05 ` Stefan Fröberg
2013-01-23 16:18 ` Thomas Petazzoni
2013-01-23 16:31 ` Stefan Fröberg
2013-01-24 17:42 ` Arnout Vandecappelle
2013-01-24 19:29 ` Stephen Turner
2013-01-24 22:40 ` Stefan Fröberg
[not found] ` <CAN_xxrXsvvupyo61cqZhCR4JyLwtCsm1NRAh9JCy_uVHRqGO4A@mail.gmail.com>
2013-01-25 21:55 ` Stefan Fröberg
2013-01-26 22:38 ` Arnout Vandecappelle [this message]
2013-01-26 23:04 ` Stefan Fröberg
2013-01-27 7:13 ` Stephen Turner
2013-01-24 22:42 ` Stefan Fröberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51045AD4.1000100@mind.be \
--to=arnout@mind.be \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.