之前編寫驅動都是自己單獨編譯內核,看完粵嵌GEC6818的文檔傻眼了,用的是buildroot,好像和別人的buildroot還不一樣
一般來說應該是先進入build root
make help
make linux-menuconfig
就和以前一樣可以進行 menuconfig
想給內核去掉一個驅動
找到編譯腳本,對命令進行查看
進入6818的源碼包沒有那個選項,只能去看shell腳本,看是怎麼進行編譯的
解壓完後,有個可執行的mk文件 ,好就是他了
在裏面找到內核編譯的腳本
export PATH=${BS_DIR_UBOOT}/tools:$PATH
# Compiler kernel
cd ${BS_DIR_KERNEL} || return 1
make ${BS_CONFIG_KERNEL} ARCH=arm CROSS_COMPILE=${BS_CROSS_TOOLCHAIN_KERNEL} || return 1
make -j${threads} ARCH=arm CROSS_COMPILE=${BS_CROSS_TOOLCHAIN_KERNEL} || return 1
make -j${threads} ARCH=arm CROSS_COMPILE=${BS_CROSS_TOOLCHAIN_KERNEL} uImage || return 1
這些就應該是執行編譯的命令了 我們用gedit crtl+f 進行替換一下
export PATH=./GEC6818uboot/tools:$PATH
# Compiler kernel
cd ./kernel || return 1
make GEC6818_defconfig ARCH=arm CROSS_COMPILE=/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- || return 1
make -j4 ARCH=arm CROSS_COMPILE=/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- || return 1
make -j4 ARCH=arm CROSS_COMPILE=/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- uImage || return 1
先對uboot進行編譯路徑的導入
讓 GEC6818_defconfig 變成我們編譯內核的 默認 .config //我就說之前怎麼編譯這麼多次,內核原封不動
進行kernel的編譯
編譯出uIamge
進行內核的編譯
進入內核的目錄
cp ./gec6818_linux_config .config
make menuconfig
make -j4 ARCH=arm CROSS_COMPILE=/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
make -j4 ARCH=arm CROSS_COMPILE=/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- uImage
現在就和之前編寫kernel一樣簡單,我學術不精,有更好的東西,還要用以前的老辦法,不過確實好用