[Buildroot] Squashfs boot
Stefan Fröberg
stefan.froberg at petroprogram.com
Thu Jan 24 22:40:50 UTC 2013
Thin client? Ah, now I beging to understand why you needed to load that
squashfs image into ram.
So your thin client is totally diskless ? No hard drive at all ?
And you plan to load your squashfs image from server or usb stick or
from where ?
Stefan
24.1.2013 21:29, Stephen Turner kirjoitti:
>
> I shouldnt need unionfs as im just loading a basic thinclient and
> having it in a ro image would be best to prevent accidental or
> intentional tampering when a simple reboot will fix. The rw items can
> use a temp ramdisk. Only issue i was running into was figuring out how
> to read a squashfs at boot with no initrd or basically busybox squash
> output which is only bzImage and rootfs.squashfs. i have managed to
> move usr to squash and use the rest of the os as initrd but if thats
> what needs to be done then shouldnt the busybox build script handle that?
>
> On Jan 24, 2013 1:50 PM, "Arnout Vandecappelle" <arnout at mind.be
> <mailto:arnout at mind.be>> wrote:
>
> On 01/22/13 13:41, Stefan Fröberg wrote:
> [snip]
>
> My /etc/fstab look like this
> # /etc/fstab: static file system information.
> #
> # <file system> <mount pt> <type> <options> <dump> <pass>
> /modules.sqfs /lib/modules squashfs
> defaults,auto,loop,noatime 0 0
> /firmware.sqfs /lib/firmware squashfs
> defaults,auto,loop,noatime 0 0
> /dev/cdrom /mnt/cdrom iso9660
> defaults,noatime 0 0
> /mnt/cdrom/usr.sqfs /mnt/ro squashfs
> defaults,auto,loop,noatime 0 0
>
>
> Now this is a real use case for being able to split the rootfs
> into several parts.
>
> However, as Thomas mentioned, it's simpler to just use a complete
> squashfs rootfs and put the unionfs on top of that. How? Somewhere
> early in your init.d you put something like the following (a
> script I swiped from the internet, don't remember where from; I
> haven't actually tested it myself):
>
> #!/bin/sh
>
> CHROOT_PATH="/tmp/unionfs"
> UNION_OPT="-o
> allow_other,use_ino,suid,dev,nonempty,chroot=$CHROOT_PATH,max_files=32768"
>
> #mount -t proc proc /proc
> #mount -t tmpfs tmpfs /tmp
>
> mkdir -p $CHROOT_PATH/root
> mkdir -p $CHROOT_PATH/rw
> mkdir -p /tmp/union
>
> # Mount the filesystems
> mount --bind / $CHROOT_PATH/root
> # $CHROOT_PATH/rw is already on a tmpfs so doesn't need to be mounted
>
> modprobe fuse
> $CHROOT_PATH/root/usr/bin/unionfs $UNION_OPT /rw=RW:/root=RO
> /tmp/union
>
> #mount -t proc proc /tmp/union/proc
>
> cd /tmp/union
> mkdir oldroot
> pivot_root . oldroot
> cd /
>
> # Move existing mounts, if any
> #umount /proc
> mount --move /oldroot/proc /proc
> mount --move /oldroot/dev /dev
> mount --move /oldroot/sys /sys
> mount --move /oldroot/tmp /tmp
> rmdir /tmp/union
>
> --
> Arnout Vandecappelle arnout at mind be
> Senior Embedded Software Architect +32-16-286500
> <tel:%2B32-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 part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130125/cee45e54/attachment-0002.html>
More information about the buildroot
mailing list