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

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

 



[Edited Message Follows]
[Reason: grammar]

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 up reading a lot of guides in the last month 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

Your Subscription | Contact Group Owner | Unsubscribe [list-automotive-discussions82@xxxxxxxxxxx]

_._,_._,_

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

  Powered by Linux