[Buildroot] Squashfs boot

Arnout Vandecappelle arnout at mind.be
Thu Jan 24 17:42:45 UTC 2013


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
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



More information about the buildroot mailing list