yocto_linux_menuconfig - zivku/MPU GitHub Wiki

Yocto修改linux-menuconfig方式

  1. 修改linux-menuconfig :
cd ~/git/sam9x60_yocto/poky
export TEMPLATECONF=${TEMPLATECONF:-../meta-atmel/conf/templates/default}
source oe-init-build-env build-microchip
MACHINE=sam9x60-curiosity bitbake -c menuconfig virtual/kernel
  1. 建立.cfg :
MACHINE=sam9x60-curiosity bitbake virtual/kernel -c diffconfig
  1. 建立自己的layer(如果已有自己的layer則建立相對應路徑加入.bbappend) :
cd ~/git/sam9x60_yocto/poky
export TEMPLATECONF=${TEMPLATECONF:-../meta-atmel/conf/templates/default}	
source oe-init-build-env build-microchip
bitbake-layers create-layer ~/git/sam9x60_yocto/meta-mycustom
bitbake-layers add-layer ~/git/sam9x60_yocto/meta-mycustom
mkdir -p ~/git/sam9x60_yocto/meta-mycustom/recipes-kernel/linux/linux-mchp/sam9x60
  1. 將建立的.cfg放在此目錄下 :
cd ~/git/sam9x60_yocto/meta-mycustom/recipes-kernel/linux/linux-mchp/sam9x60
cp /home/ziv/git/sam9x60_yocto/poky/build-microchip/tmp/work/sam9x60_curiosity_sd-poky-linux-gnueabi/linux-mchp/6.6+git/fragment.cfg .
  1. 建立.bbappend將.cfg覆蓋在MCHP layer之上 :
gedit ~/git/sam9x60_yocto/meta-mycustom/recipes-kernel/linux/linux-mchp_6.6.51.bbappend

.bbappend中貼上以下內容 :

FILESEXTRAPATHS:prepend := "${THISDIR}/linux-mchp/sam9x60:"
SRC_URI:append:sam9x60 = " \
    file://0001-sam9x60-update-device-tree-for-SPIDEV.patch \
    file://fragment.cfg \
"
  1. 確認layer的結構樹 :
cd ~/git/sam9x60_yocto/poky
source oe-init-build-env build-microchip
tree ~/git/sam9x60_yocto/meta-mycustom/recipes-kernel/linux

確認 layer 結構如下:
/home/ziv/git/sam9x60_yocto/meta-mycustom/recipes-kernel/linux
├── linux-mchp
│ └── sam9x60
│ ├── 0001-sam9x60-update-device-tree-for-SPIDEV.patch
│ └── fragment.cfg
└── linux-mchp_6.6.51.bbappend

  1. 重新編譯kernel與燒錄映像 :
MACHINE=sam9x60-curiosity bitbake -c clean virtual/kernel
MACHINE=sam9x60-curiosity bitbake linux-mchp -c compile -f
MACHINE=sam9x60-curiosity bitbake linux-mchp -c deploy -f
MACHINE=sam9x60-curiosity bitbake microchip-graphics-image