Reworked the installation script to work on a recent qemu version

This commit is contained in:
Kees Jongenburger
2012-06-18 13:02:10 +02:00
parent 29bc00c157
commit 8a7bfc84fd
6 changed files with 64 additions and 13 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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"
}
}

View File

@@ -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"
}
}

View File

@@ -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"
}
}

View File

@@ -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"
}
}