I'am able to run Jailhouse 0.6 in Jetson- TK1. I have successfully created root cell using jetson-tk1.cell and a non root Linux cell using jetson-tk1-linux-demo.cell built using the corresponding .c files provided in configs/.
I could load a Linux kernel (4.1.0) in jetson-tk1-linux-demo.cell. jailhouse cell start jetson-tk1-linux-demo executes and gives no errors. But I don't see any output on the serial. jailhouse cell list shows the cell as "running".
What am I missing?
Thanks
Sneha
Thanks for replying.
This is how I start a non root cell:
$ LOAD_ADDR=0xe8000000
$ DTB_ADDR=0xea000000
$ jailhouse cell create jetson-tk1-linux-demo.cell
$ jailhouse cell load --name jetson-tk1-linux-demo linux-loader.bin -a 0x0 zImage -a $LOAD_ADDR inmate-jetson-tk1.dtb -a $DTB_ADDR -s "kernel=$LOAD_ADDR dtb=$DTB_ADDR" -a 0x100
$ jailhouse cell start jetson-tk1-linux-demo
inmate-jetson-tk1.dtb was generated using dts/inmate-jetson-tk1.dts at the time of cross-compiling Jailhouse.
zImage is the Linux kernel 4.1.0
I'am using a copy of the same kernel in Jetson-TK1 as well(which gets moved to root cell). Since I'am getting output on the serial when Jailhouse is not enabled I suppose the UART driver is present.
I found SERIO in .config which was also enabled.
What options should I enable in .config in order to get the required UART driver built with the kernel?
Could you suggest how I can use jailhouse cell linux in order to get the kernel in a non root cell up and running?
Thanks
Sneha
I still need to use the kernel config you provided. But I tried using the kernel of jailhouse/queues branch in git.kiszka.org. I don't know how to create initrd using Buildroot, but I was successful in creating initramfs using it. I had enabled libserial and some other serial related libraries. While building the Kernel, I enabled CONFIG_SERIO,set CONFIG_BLK_DEV_RAM=m, CONFIG_BLK_DEV_RAM_COUNT=1 and CONFIG_BLK_DEV_RAM_SIZE=4096.
After enabling Jailhouse using jetson-tk1.cell, I tried the following :
sudo jailhouse cell linux \
--dtb configs/dts/inmate-jetson-tk1.dtb \
--initrd rootfs.cpio \
--cmdline "console=ttyS0,115200" \
--arch arm \
configs/jetson-tk1-linux-demo.cell Image
rootfs.cpio was created using Buildroot. PFA the buildroot config.
Linux Kernel from http://git.kiszka.org/?p=linux.git;a=shortlog;h=refs/heads/queues/jailhouse. PFA the kernel config.
I still don't see any output on serial(ttyS0). I don't get any errors. jailhouse cell list displays the cell as running.
I also tried using rootfs.tar instead of rootfs.cpio created using Buildroot, but still the same behaviour. I gave initramfs instead of initrd since it was mentioned in jailhouse cell linux --help.
Another observation is when I pass zImage instead of Image, Jailhouse traps.
Does the root cell also need /dev/ram0 for the non root cell to work? How can I build initrd using Buildroot? Is it for the root cell or the non root cell?
Please help.
Regards
Sneha