diff --git a/projects/autoinstall/Makefile b/projects/autoinstall/Makefile index 25ef071..7b6ac0d 100644 --- a/projects/autoinstall/Makefile +++ b/projects/autoinstall/Makefile @@ -22,7 +22,7 @@ minix.postinst.8g.img:minix.base.8g.img cp minix.base.8g.img minix.postinst.8g.tmp.img post-install/01-reconfigure-net.expect post-install/02-setup.expect - post-install/03-keesj.expect + post-install/03-password.expect mv minix.postinst.8g.tmp.img minix.postinst.8g.img echo "now start the image using the startup.sh script" echo "and scp and run post-install.sh to finish installation" diff --git a/projects/autoinstall/README b/projects/autoinstall/README index c998601..0e9d563 100644 --- a/projects/autoinstall/README +++ b/projects/autoinstall/README @@ -6,17 +6,37 @@ to interact with the system. The main goal currently is to perform an automated install for test automation purposes. -Running: - type make +Dependencies: + expect + qemu-kvm +Targets: + minix.base.8g.img to download and create a basic installation + of the system. -After that you can start the image using - qemu -hda minix.base.8g.img + minix.postinst.8g.img to create an up-to-date image based on the + base image that will have a few issues fix + ed and a password set. + + Getting to an "up-to-date" installation still requires you to copy +the post-install.sh script to the MINIX instance and run it. + +It will +* checkout the most recent versions of pkgsrc and the MINIX 3 +* build a new clang with shared libraries support +* install the newest sources using make clean/world. + +After that you can start the image using the startup.sh command +in this directory can be use to start the image. I usually use the +following ~/.ssh/config +# +Host minix +HostName localhost +User root +Port 2222 @TODO: * Improve the expect scipt to allow passing of arguments. -* Perform automated building of system packages. The image is -currently 8G and this is large enough to install pkgsrc * Add some automated tests for the fun of it. * Add more testing * The current system currently uses the qemu curses to interact diff --git a/projects/autoinstall/post-install/01-reconfigure-net.expect b/projects/autoinstall/post-install/01-reconfigure-net.expect index 5d0ccc8..6efabca 100755 --- a/projects/autoinstall/post-install/01-reconfigure-net.expect +++ b/projects/autoinstall/post-install/01-reconfigure-net.expect @@ -110,4 +110,12 @@ expect "#" { } #shutdown send "shutdown\n" -expect "Choose an option; RETURN for default; SPACE to stop countdown." +expect { + "Choose an option; RETURN for default; SPACE to stop countdown." { + puts "\nInstall worked\n" + } + "Press Ctrl-B to configure iPXE" { + puts "\nInstall worked\n" + + } +} diff --git a/projects/autoinstall/post-install/02-setup.expect b/projects/autoinstall/post-install/02-setup.expect index d6ae737..cc6c398 100755 --- a/projects/autoinstall/post-install/02-setup.expect +++ b/projects/autoinstall/post-install/02-setup.expect @@ -119,4 +119,12 @@ expect { set timeout 20 #shutdown send "shutdown\n" -expect "Choose an option; RETURN for default; SPACE to stop countdown." +expect { + "Choose an option; RETURN for default; SPACE to stop countdown." { + puts "\nInstall worked\n" + } + "Press Ctrl-B to configure iPXE" { + puts "\nInstall worked\n" + + } +} diff --git a/projects/autoinstall/post-install/03-keesj.expect b/projects/autoinstall/post-install/03-password.expect similarity index 92% rename from projects/autoinstall/post-install/03-keesj.expect rename to projects/autoinstall/post-install/03-password.expect index 6ff828a..8bdd97e 100755 --- a/projects/autoinstall/post-install/03-keesj.expect +++ b/projects/autoinstall/post-install/03-password.expect @@ -103,4 +103,12 @@ expect -re $ set timeout 20 #shutdown send "shutdown\n" -expect "Choose an option; RETURN for default; SPACE to stop countdown." +expect { + "Choose an option; RETURN for default; SPACE to stop countdown." { + puts "\nInstall worked\n" + } + "Press Ctrl-B to configure iPXE" { + puts "\nInstall worked\n" + + } +} diff --git a/projects/autoinstall/script/02_qemu_minix_base.install.expect b/projects/autoinstall/script/02_qemu_minix_base.install.expect index 83f0c1d..3598853 100755 --- a/projects/autoinstall/script/02_qemu_minix_base.install.expect +++ b/projects/autoinstall/script/02_qemu_minix_base.install.expect @@ -124,6 +124,13 @@ expect "Configure method?" { expect "with a password. Please consult the usage manual for more information." { send "shutdown\n" } -expect "Choose an option; RETURN for default; SPACE to stop countdown." - - +set timeout 30 +expect { + "Choose an option; RETURN for default; SPACE to stop countdown." { + puts "\nInstall worked\n" + } + "Press Ctrl-B to configure iPXE" { + puts "\nInstall worked\n" + + } +}