mksquashfs won't work on a running system, too much temp stuff changing before it can complete, probably other reasons. You need to rsync/cp it somewhere else first with the right "excludes" (like snapshot does... might as well use snapshot)
Re : installing direct from squash, without actually booting a kive system and running a dedicated installer. Here's a real test I did today, on an mounted, empty ext3 partition (/dev/sdb8), using filesystem.squashfs from a Refracta iso :
1.
- Code: Select all
unsquashfs -f -d /media/sdb8 /path/to/filesystem.squashfs
2. Get the uuid string of /dev/sdb8 (blkid /dev/sdb8) we will call it $DEVUUID
3. Write a basic fstab to /media/sdb8/etc/fstab
- Code: Select all
# /etc/fstab: static file system information.
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=$DEVUUID / ext3 relatime,errors=remount-ro 0 1
4. I use grub-legacy. Adapt this entry (and root/kernel/initrd names) to whatever bootloader you use. Maybe update-grub(2) will just find it.
- Code: Select all
title Refracta Unsquashed
root (hd1,7)
kernel /boot/vmlinuz-2.6.32-5-686 root=/dev/disk/by-uuid/$DEVUUID ro
initrd /boot/initrd.img-2.6.32-5-686
5. It's up and running before the kettle has boiled and I can't see anything wrong with it. We have by-passed the live-boot step.
Refracta has a preconfigured user, hostname and root password. Usual debian-live builds don't, there would be a bit of chroot work to do then.( shadowconfig, passwd.adduser, hostname maybe more)