[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] How to build Mini-OS for ARM

Hi Denis,

On 07/06/2019 15:58, Denis Obrezkov wrote:
I have a bit of troubles with ramdisk.

I tried to build busybox and to load it, and it worked.

Do you mean using Linux baremetal?

But when I try to boot it this way:
qemu-system-aarch64  -machine virt,gic_version=3 -machine virtualization=true -cpu cortex-a57 -machine type=virt -m 4096 -smp 4 -bios u-boot.bin -device loader,file=xen,force-raw=on,addr=0x49000000 -device loader,file=Image.gz,addr=0x47000000 -device loader,file=virt-gicv3.dtb,addr=0x44000000 -device loader,file=rootfs.img.gz,addr=0x42000000 -nographic -no-reboot -chardev socket,id=qemu-monitor,host=localhost,port=7777,server,nowait,telnet -mon qemu-monitor,mode=readline

and pass:

fdt addr 0x44000000
fdt resize

fdt set /chosen \#address-cells <1>
fdt set /chosen \#size-cells <1>

fdt mknod /chosen module@0
fdt set /chosen/module@0 compatible "xen,linux-zimage" "xen,multiboot-module"
fdt set /chosen/module@0 reg <0x47000000 0x7F31CE>
fdt set /chosen/module@0 bootargs "rw root=/dev/ram rdinit=/sbin/init earlyprintk=serial,ttyAMA0 console=ttyAMA0,115200n8 earlycon=xenboot"

The UART is owned by Xen and cannot be used by Dom0. Instead we provide a para-virtualized console. So console=ttyAMA0,115200n8 should be replaced by console=hvc0.

fdt mknod /chosen module@1
fdt set /chosen/module@1 compatible "xen,linux-initrd" "xen,multiboot-module"
fdt set /chosen/module@1 reg <0x42000000 0x121e65>

booti 0x49000000 - 0x44000000

I can see that it successfully boots till the very end but the input prompt doesn't appear. The last lines are:
[    3.415854]   No soundcards found.
[    3.417458] Warning: unable to open an initial console.

The lack of console=hvc0 might explain this warning and potentially the fact you can't access the shell.

[    3.496941] Freeing unused kernel memory: 1344K
[    3.505723] Run /sbin/init as init process


Julien Grall

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.