Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox