Hello,
I am new to Linux development and Jailhouse. I have successfully booted
the Jailhouse Hypervisor and root cell on a bare metal X86 Linux system (No
QEMU). I am now trying to load a non-root Linux cell and I have a few
questions. Jailhouse accepts and starts my non-root linux cell
configuration and I see it as "running" through the "jailhouse cell list"
command. However, I don't see any serial output from the "non-root linux"
cell booting up. I’m not sure what the non-root node is doing at this
point.
My root node is a 4.16 kernel configured this way:
1. CONFIG_JAILHOUSE_GUEST is not set
2. CONFIG_SERIO=y
3. CONFIG_SERIAL_8250_RUNTIME_UARTS=4
My non-root node is a 4.16 kernel configured this way:
1. CONFIG_JAILHOUSE_GUEST=y
2. CONFIG_SERIO=m (can't seem to disable
completely in my config for 4.16)
3. CONFIG_SERIAL_8250_RUNTIME_UARTS=1
In general, do the kernel config settings have to match between the root
node and non-linux or is the above fine?
The vmlinux-4.1.16-Guest bzImage is approx 7MB, and the inmate node is
allocated ~75MB of RAM.
I have a single UART, so I have configured the root cell system config to
output to the virtual hypervisor console:
.flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE,
.debug_console = {
.type = JAILHOUSE_CON_TYPE_NONE,
},
and I have configured the non-root linux cell to output to the UART:
(Added serial 0x3f8 to pio bitmap for non-root linux) and started the node
with this:
./tools/jailhouse cell linux configs/x86/linux-x86.cell
/boot/vmlinux-4.1.16-Guest -c "console=ttyS0,115200"
(Note I also tried "console=jailhouse" in the command above, and that
produces the same result)
I then see the following on my hypervisor console (./tools/jailhouse
console -f):
Created cell "linux-x86-demo"
...
Cell "linux-x86-demo" can be loaded
Started cell "linux-x86-demo"
After a little while I do get a parked CPU error on the root node, looks
like its trying to do something with the UART as well:
FATAL: Invalid PIO read, port: 3fe size: 1
I would expect something to pop out on the UART from the non-root linux
node first. Note that root node has serial 0x3f8 disabled in its pio
bitmap.
I verifed that the UART is functioning by allowing the hypervisor to print
to it and also performed an echo test over ttyS0.
I have tried several configurations of kernel.....including your current
"queues/jailhouse" branch head kernel for the non-root node, along with the
kernel config for 4.7 posted in this thread below (but I get same result as
above when I start it, no kernel output):
"
https://groups.google.com/forum/#!searchin/jailhouse-dev/Re$3A$20Failed$20to$20boot$20jailhouse%7Csort:relevance/jailhouse-dev/M7UO89XFIk0/Qi40DDuMBAAJ
".
Any information you can provide to me will be helpful. I'm not sure what
might be going wrong here.
Thanks,
Wayne
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/CA%2B%2BKhc2iKk1J6%2B0huh5__dS4HyujXzV9r%2BLbKLzuVZ4K3Bt5eA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.