X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=examples%2Fminimal-filesystem.sh;h=e1766a9fd0dadc5e6df3cee4dd47e0dc92600737;hb=42a6e60307b8116dd888e9dae4960f12d895f73f;hp=01ca9e899a7a28f0db0756cae1d3839bb64ce1b3;hpb=37bbdb07326d285b7bd6011da9119a46c09897e5;p=febootstrap.git diff --git a/examples/minimal-filesystem.sh b/examples/minimal-filesystem.sh index 01ca9e8..e1766a9 100755 --- a/examples/minimal-filesystem.sh +++ b/examples/minimal-filesystem.sh @@ -12,6 +12,8 @@ # few command line utilities. One of the joys of Fedora is that even # this minimal install is still 200 MB ... +set -e + if [ $(id -u) -eq 0 ]; then echo "Don't run this script as root. Read instructions in script first." exit 1 @@ -22,30 +24,34 @@ if [ ! -e vmlinuz ]; then exit 1 fi -../febootstrap -i bash -i coreutils fedora-10 ./minimal $1 +febootstrap -i bash -i coreutils fedora-10 ./minimal $1 # ... but let's minimize it aggressively. echo -n "Before minimization: "; du -sh minimal -../febootstrap-minimize --all ./minimal +febootstrap-minimize --all --pack-executables ./minimal echo -n "After minimization: "; du -sh minimal # Create the /init which is just a simple script to give users an # interactive shell. -( cd minimal && cat > init <<'__EOF__' +create_init () +{ + cat > /init <<'__EOF__' #!/bin/sh echo; echo; echo echo "Welcome to the minimal filesystem example" echo; echo; echo /bin/bash -i __EOF__ -chmod +x init -) + chmod +x /init +} +export -f create_init +febootstrap-run ./minimal -- bash -c create_init # Convert the filesystem to an initrd image. -../febootstrap-to-initramfs ./minimal > minimal-initrd.img +febootstrap-to-initramfs ./minimal > minimal-initrd.img # This is needed because of crappiness with qemu. @@ -55,6 +61,6 @@ dd if=/dev/zero of=zero bs=2048 count=1 # Now run qemu to boot this minimal system. qemu-system-$(arch) \ - -m 128 \ + -m 256 \ -kernel vmlinuz -initrd minimal-initrd.img \ -hda zero -boot c