| #!/bin/sh |
| mount -t proc none /proc |
| mount -t sysfs none /sys |
| /sbin/mdev -s |
| |
| # fill up our entropy pool, if we don't do this then anything with a hash map |
| # will likely block forever as the kernel is pretty unlikely to have enough |
| # entropy. |
| /addentropy < /addentropy |
| cat /dev/urandom | head -n 2048 | /addentropy |
| |
| # Set up IP that qemu expects. This configures eth0 with the public IP that QEMU |
| # will communicate to as well as the loopback 127.0.0.1 address. |
| ifconfig eth0 10.0.2.15 |
| ifconfig lo up |
| |
| # Configure DNS resolution of 'localhost' to work |
| echo 'hosts: files dns' >> /ubuntu/etc/nsswitch.conf |
| echo '127.0.0.1 localhost' >> /ubuntu/etc/hosts |
| |
| # prepare the chroot |
| mount -t proc proc /ubuntu/proc/ |
| mount --rbind /sys /ubuntu/sys/ |
| mount --rbind /dev /ubuntu/dev/ |
| |
| # Execute our `testd` inside the ubuntu chroot |
| cp /testd /ubuntu/testd |
| chroot /ubuntu /testd & |