Before booting the VM, install netcat (if you don't already have it), and start 
a listener.  We'll need it later.

pkg install SUNWnetcat
cd /xen/ubuntu
nc -l -p 10000 | tar xvf - &


Start the VM!

xm create -c ubuntu-install.cfg


Here are the hilights of the install process:

Mirror Country: Manual (scroll to the top to find it)
Mirror Host: Your Dom0 IP goes here
Mirror Directory: /ubuntu  (the symlink to the install cd)
Continue withouth loading modules? Yes  (xensource kernel can't load the 
installer's modules -- doesn't seem to be a big deal)
/dev/hda "invalid argument": Ignore (several times)


Now, DON'T reboot at the end of the installation.  Instead:

Installation complete: go back
Execute A Shell
Continue
chroot /target apt-get install linux-image-2.6.24-19-xen
chroot /target apt-get install linux-ubuntu-modules-2.6.24-19-xen


And now use the netcat listener to ship your new kernel stuff to Dom0:

cd /target/boot
/target/bin/tar cvf - vmlinuz*xen initrd*xen | nc 192.168.1.8 10000

The only thing missing now is a login service running on the system console. 
Init thinks the console is a PC monitor and keyboard. The console is really the 
xvc0 device created by the Xen kernel. Kill off the gettys on the bogus ttys, 
and start one in the right place:

cd /target/etc/event.d
rm tty?
cat > xvc0 << EOF
start on stopped rc2
start on stopped rc3
start on stopped rc4
start on stopped rc5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /sbin/getty 38400 xvc0
EOF


Finally, quit the installation and find yourself back at the Dom0 prompt.  
We're done with the xensource kernel, the net-install initrd.gz and the install 
VM config:

mkdir .install
mv ubuntu-install.cfg vmlinuz-2.6.18-xen initrd.gz .install


Now, a new VM config for the installed ubuntu image:

cat > ubuntu.cfg << EOF
kernel = "/xen/ubuntu/vmlinuz-2.6.24-19-xen"
ramdisk = "/xen/ubuntu/initrd.img-2.6.24-19-xen"
extra = "root=/dev/hda1 linux 2"
name = "ubuntu"
memory = "512"
disk = [ 'file:/xen/ubuntu/ubuntu.img,hda,w' ]
vif = [ 'mac=00:16:3e:11:11:11' ]
EOF

Done!
--
This message posted from opensolaris.org
_______________________________________________
xen-discuss mailing list
[email protected]

Reply via email to