Jonatan Liljedahl wrote: > Lucas C. Villa Real wrote: >> On 2/16/07, Jonatan Liljedahl <[EMAIL PROTECTED]> wrote: >>> Found the right options to mkisofs in an old mail about USB drive >>> support in 012... (all this seems very familiar! ;) >>> >>> Anyhow, the CD booted, but it stops with "Failed to add >>> /Mount/SquashFS/Packages-List-Base into /Mount/TmpFS/Programs" and same >>> thing for all other squashfs files, then the kernel panics when not >>> finding init. >>> >>> Does the squashfs files need to be repacked with the updated squashfs tool? >> Hmmm, it doesn't seem to be necessary here, as I can loopback mount >> the original squashfs images with the updated kernel (2.6.20). > > Ok, good. > >> I've just checked the startGoboLinux script, and it does a call to unionctl: >> >> for i in /Mount/CD-ROM/Packages*.squashfs; do >> mount -o loop,ro -t squashfs $i /Mount/SquashFS/`basename $i .squashfs` >> unionctl /Mount/TmpFS/Programs --add --after /Mount/TmpFS/Programs \ >> --mode ro /Mount/SquashFS/`basename $i .squashfs` >> done >> >> The current UnionFS snapshot doesn't allow one to use dynamic branches >> (we were using UnionFS 1.x, which is now freezed; the new development >> is going into 2.x, which doesn't have all features commited yet). So, >> in other words, you'll probably need to compile a new kernel with an >> updated squashfs patch, keeping the old UnionFS patches.. :-( > > So, do I understand it correctly that unionctl --add is the problem? > Then can't I just change the startGoboLinux script to mount all > squashfs's in one go? > mount -t unionfs -o dirs=/Mount/SquashFS/Foo=ro:/Mount/SquashFS/Bar=ro:... > > If I'm going to recompile the kernel, is the new unionfs patches > included in the recipe so I can revert them and replace them with the > unionfs patches from some old gobokernel tarball?
(forgot to attach script to last mail) -- /Jonatan - http://kymatica.com
#!/bin/ash /bin/mount -t proc none /System/Kernel/Status /bin/mount -t sysfs none /System/Kernel/Objects /bin/mount -t tmpfs none /System/Kernel/Devices echo "Generating /System/Kernel/Devices" /bin/miniudev >/dev/null echo "Mounting GoboLinux Install CD..." /bin/mountGoboLinux echo "Preparing TmpFS RW Layer..." mount -t tmpfs none /Mount/TmpFS mkdir /Mount/TmpFS/Programs echo "Initializing GoboLinux squashfs files..." # Mounting 'GoboLinux-{rest,files}.squashfs' (still harcoded names) mount -o loop,ro -t squashfs /Mount/CD-ROM/GoboLinux-rest.squashfs /Mount/SquashFS/Rest mount -o loop,ro -t squashfs /Mount/CD-ROM/GoboLinux-files.squashfs /Mount/SquashFS/Files # mount -t unionfs -o dirs=/Mount/TmpFS=rw:/Mount/SquashFS/Rest=ro:/Mount/SquashFS/Files=ro:/Mount/UnionFS=ro none /Mount/UnionFS # # Tricky block for /Depot, /Mount, /System and /Files # cd /Mount/SquashFS/Rest for i in * do [ -h $i ] && cp -a $i /Mount/TmpFS done cp -a Mount /Mount/TmpFS cp -a usr /Mount/TmpFS mkdir -p /Mount/TmpFS/Depot mkdir -p /Mount/TmpFS/Files mkdir -p /Mount/TmpFS/System mount -t unionfs -o dirs=/Mount/TmpFS/System=rw:/Mount/SquashFS/Rest/System=ro none /Mount/TmpFS/System mount -t unionfs -o dirs=/Mount/TmpFS/Files=rw:/Mount/SquashFS/Files/Files=ro none /Mount/TmpFS/Files # # Tricky block for /Programs # mkdir -p /Mount/TmpFS/Programs # Mounting Packages*.squashfs files inside /Programs for i in /Mount/CD-ROM/Packages*.squashfs; do mount -o loop,ro -t squashfs $i /Mount/SquashFS/`basename $i .squashfs` done DIRS="/Mount/TmpFS/Programs=rw" DIRS+=":/Mount/SquashFS/Packages-List-Base=ro" DIRS+=":/Mount/SquashFS/Packages-List-GoboLinuxTools-Stable=ro" DIRS+=":/Mount/SquashFS/Packages-List-OpenOffice=ro" DIRS+=":/Mount/SquashFS/Packages-List-XorgAndDependencies=ro" mount -t unionfs -o dirs=$DIRS none /Mount/TmpFS/Programs # Remove unneeded mounts /bin/umount /System/Kernel/Devices /bin/umount /System/Kernel/Objects # /bin/umount /System/Kernel/Status echo "Performing pivot_root..." cd /Mount/TmpFS # cd /Mount/UnionFS /bin/pivot_root . Mount/.Pivot # ensure that the inittab from LiveCD is used. this is later replaced # by the StartLiveCD script from the LiveCD package. ln -nfs /Programs/LiveCD/Settings/inittab /System/Settings/inittab echo "Invoking init..." exec /sbin/init echo "Done."
_______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel