|
Introduction
|
|
------------
|
|
|
|
This configuration offers a cross-build of (a subset of) the build-bootstrap
|
|
package selection for the x86_64 architecture as emulated by qemu-system-x86_64.
|
|
It includes support for all the hardware emulated by qemu, a working udev,
|
|
kernel and userland support for TCP/IP networking, and more.
|
|
|
|
With qemu and the resulting build you can at least:
|
|
- boot the kernel and first stage initrd,
|
|
- execute a shell from the initrd,
|
|
- mount NFS file systems,
|
|
- load the second stage from a CD-ROM or HTTP server,
|
|
- and install packages from the CD on a hard disc.
|
|
|
|
The packages included should be sufficient for native builds on the targeted
|
|
platform.
|
|
|
|
Quick Start
|
|
-----------
|
|
|
|
- Boot from CD with VGA text console:
|
|
qemu-system-x86_64 -cdrom bbs-x86_64-qemu_cd1.iso -hda /srv/qemu.hda \
|
|
-boot d
|
|
|
|
Hints And Known Bugs
|
|
--------------------
|
|
|
|
- To use the cdrom image in qemu, create it after the build has finished:
|
|
./scripts/Create-ISO bbs-x86_64-qemu bbs-x86_64-qemu
|
|
|
|
- To use a hard disk in qemu, create it with e.g.:
|
|
qemu-img create /srv/qemu.hda 2048M
|
|
|
|
- To access HTTP or NFS servers in qemu, add the following options:
|
|
-net nic -net tap
|
|
|
|
You need root privileges for this, or have your system administrator set it
|
|
up for you. When qemu starts it will create a network interface (tap0) and
|
|
add an IP address/netmask (172.20.0.1/16) to it:
|
|
|
|
host:/# ip addr show dev tap0
|
|
19: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
|
|
link/ether 00:ff:e1:75:9a:a0 brd ff:ff:ff:ff:ff:ff
|
|
inet 172.20.0.1/16 brd 172.20.255.255 scope global tap0
|
|
inet6 fe80::2ff:e1ff:fe75:9aa0/64 scope link
|
|
valid_lft forever preferred_lft forever
|
|
|
|
In the first boot stage of the emulated system, execute a shell, set up the
|
|
network link and add an IP address on the same network:
|
|
|
|
sh-3.2# ip link set up dev eth0
|
|
[ 41.026595] eth0: link up
|
|
sh-3.2# ip addr add 172.20.0.20/16 dev eth0
|
|
|
|
You should now be able to reach the host system:
|
|
|
|
sh-3.2# ping -c3 172.20.0.1
|
|
PING 172.20.0.1 (172.20.0.1): 56 octets data
|
|
64 octets from 172.20.0.1: icmp_seq=0 ttl=64 time=16.7 ms
|
|
64 octets from 172.20.0.1: icmp_seq=1 ttl=64 time=1.6 ms
|
|
64 octets from 172.20.0.1: icmp_seq=2 ttl=64 time=1.1 ms
|
|
|
|
--- 172.20.0.1 ping statistics ---
|
|
3 packets transmitted, 3 packets received, 0% packet loss
|
|
round-trip min/avg/max = 1.1/6.4/16.7 ms
|