X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=examples%2Fminimal-filesystem.sh;h=e1766a9fd0dadc5e6df3cee4dd47e0dc92600737;hb=304ee3695e41904d8b2184922732f47aa6ccc0d4;hp=9a0f5757124d387aee51291938f2326ed73e14e3;hpb=2c02cadef79f6e488f203ecc7e0d1eda0fafe849;p=febootstrap.git diff --git a/examples/minimal-filesystem.sh b/examples/minimal-filesystem.sh index 9a0f575..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 --pack-executables ./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