Week 10-
Opened a pull request
25096 : Added config file for qemu x86-84 to manipulate runqemu into passing jailhouse hardware check
added a /conf/machine/qemux86-64.conf file
so this is how the configuration looks , this needs to be refactored further
QB_OPT_APPEND: “-vga vmware -show-cursor -usb -device usb-tablet -device virtio-rng-pci -vga virtio”
QB_DEFAULT_KERNEL: "./tmp/deploy/images/qemux86-64/bzImage"
QB_MACHINE: "-machine q35,kernel_irqchip=split"
QB_CPU: “ -cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor”
QB_KERNEL_CMDLINE_APPEND: "root=/dev/sda intel_iommu=off memmap=82M\$0x3a000000 mem=1G vga=0x305 console=ttyS0,115200n8"
QB_KERNEL_ROOT: /dev/sda
QB_NETWORK_DEVICE: "-device virtio-net-pci,netdev=net0,mac=@MAC@"
QB_TAP_OPT: "-netdev #tap,id=net0,ifname=@TAP@,script=no,downscript=no"
QB_SLIRP_OPT: " -netdev user,id=net"
QB_CMDLINE_IP_SLIRP: "ip=eth0:dhcp"
QB_CMDLINE_IP_TAP: "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.2#55.0::eth0"
QB_ROOTFS_OPT: "-drive file=./tmp/deploy/images/qemux86-64/agl-image-minimal-qemux86-64.ext4,discard=unmap,if=none,id=disk,format=raw"
QB_SERIAL_OPT: "-serial vc -serial mon:stdio"
#QB_SYSTEM_NAME: “qemu-system-x86_64”
#QB_DEFAULT_FSTYPE: ext4
#QB_MEM: -m 2048
#QB_CPU_KVM: “-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt”
#QB_DTB:#qemu dtb name
#QB_AUDIO_DRV: “ alsa ”
#QB_AUDIO_OPT: "-soundhw hda"
#QB_TCPSERIAL_OPT:
#QB_ROOTFS_EXTRA_OPT:
Simon says I cant sign off as d__ep__th , has to be my real name :(
Learned something cool, adding the "SPEC - 3507 " in your commit message links it to that specific spec in jira
Realized that several layers might have a similar config
and that the compiler has ways to priororitize config from one layer over the other depending on the suffix applied on that
now the suffix can be - _append or _qemux86-64
for example- the conf QB_CPU_KVM has 4 declarations and we need to override the priority , so we added
_qemux86-64 as suffix
# $QB_CPU_KVM [4 operations]
# override[qemux86-64]:set /home/parth/AGL/build-qemux86-64-jailhouse-2/conf/local.conf:391
# "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
# override[x86]:set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:4
# "-cpu core2duo"
# override[x86-64]:set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:7
# "-cpu core2duo"
# override[x86-64]:set /home/parth/AGL/meta-agl/meta-agl-distro/conf/distro/include/x86_64-tune.inc:52
# "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
# pre-expansion value:
# "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
QB_CPU_KVM="-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
#
# $QB_CPU_KVM_qemux86-64
# set /home/parth/AGL/build-qemux86-64-jailhouse-2/conf/local.conf:391
# "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
QB_CPU_KVM_qemux86-64="-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
#
# $QB_CPU_KVM_x86
# set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:4
# "-cpu core2duo"
QB_CPU_KVM_x86="-cpu core2duo"
#
# $QB_CPU_KVM_x86-64 [2 operations]
# set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:7
# "-cpu core2duo"
# set /home/parth/AGL/meta-agl/meta-agl-distro/conf/distro/include/x86_64-tune.inc:52
# "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
# pre-expansion value:
# "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
QB_CPU_KVM_x86-64="-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
Week 11 -
moved the config file to templates/feature/jailhouse/50_jailhouse.inc
Why? well, it gets added in the local.conf of your build folder , its easier to then manipulate the file from there
this is how it looks in the local.conf file
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# fragment {
# /home/parth/AGL/meta-agl-devel/templates/feature/agl-jailhouse/50_local.conf.inc
#
#### JAILHOUSE
IMAGE_INSTALL_append = " jailhouse jailhouse-demos"
PREFERRED_VERSION_linux-raspberrypi = "5.4%"
# qemu flags for jailhouse
QB_OPT_APPEND_append = " -device intel-iommu,intremap=on,x-buggy-eim=on"
QB_MACHINE_qemux86-64 = "-machine q35,kernel_irqchip=split -smp 4"
QB_MEM_qemux86-64 = "-m 2048"
QB_CPU_qemux86-64 = "-enable-kvm"
QB_CPU_KVM_qemux86-64 = "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
QB_KERNEL_CMDLINE_APPEND_append = " intel_iommu=off memmap=82M\$0x3a000000 mem=1G"
QB_KERNEL_ROOT = "/dev/sda"
QB_SERIAL_OPT = "-serial vc -serial mon:stdio"
learned to use mid-night commander (its so efficient , like wow, wish I started using this a couple of months ago,
I was using Vim but in vain!)
I was using Vim but in vain!)
Currently , runqemu works enough to start the boot but ends with kernel panic 50_local.conf.inc still requires refactoring.
My documentation game needs work , also thinking of changing the UI of my doc blog page to something more simple because
I ended read many, many guides in the last few weeks about the ins and outs of the kernel and it kinda makes me wanna step down
from the whole star wars flair I was trying and adhere to the kernel hacker demographic.
_._,_._,_
Links:
You receive all messages sent to this group.
View/Reply Online (#8597) |
Reply To Group
| Reply To Sender
|
Mute This Topic
| New Topic
Mute #gsoc
Your Subscription |
Contact Group Owner |
Unsubscribe
[list-automotive-discussions82@xxxxxxxxxxx]
_._,_._,_