u-root / NiChrome

An open ChromeOS distro with a Go-based userland, X11, and upspin support. (WIP)
GNU General Public License v2.0
59 stars 27 forks source link

QEMU: allow us to run from QEMU for testing #121

Closed rminnich closed 6 years ago

rminnich commented 6 years ago

This introduces a new KERNEL command line switch, nichromeroot if nichromeroot is in the command line, the uinit command will look for the parameter, e.g. nichromeroot=/dev/sda will cause uinit to grab the cpio from /dev/sda (not a typo! by using /dev/sda, not /dev/sda2, we don't have to mess with partitions in the qemu hard drive)

This makes a certain amount of testing possible. X won't work right now, but we can get to that later.

It will finally be possible to test NiChrome in qemu, unlink ChromeOS.

QRUN is a sample QEMU usage.

I replicate it here for history.

First, we can do this: go run usb/*.go -dev=/tmp/t usb will create two files, /tmp/t2 and /tmp/t3. t3 is the cpio image.

Then we can run qemu

qemu-system-x86_64 \ -m 2048M \ -kernel linux-stable/arch/x86/boot/bzImage \ -s \ -monitor /dev/null \ -serial stdio \ -append 'nichromeroot=/dev/sda' \ -drive id=disk,file=/tmp/t3,if=none \ -device ich9-ahci,id=ahci \ -device ide-drive,drive=disk,bus=ahci.0

and /tmp/t3 is used as the disk.

Note the nichromeroot switch.

Signed-off-by: Ronald G. Minnich rminnich@gmail.com

rminnich commented 6 years ago

tested just now on hardware and qemu

rminnich commented 6 years ago

with u-root #845 we get to x11. This has to be tested on a chromebook however.

rminnich commented 6 years ago

interestingly, with Xorg instead of Xfbdev, we get no keyboard or mouse. So use of Xorg instead of Xfbdev can't work.