[agl-dev-community] GSOC Week 11 Update (also, week 10) #gsoc

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

 



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!)
 
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]

_._,_._,_

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux