全志編譯環境分析(cqa64_ubuntu16.04_bv3_20180515)
~/: 編譯環境的根目錄
常用環境變數值
$ ~/buildroot/
$ ~/out/$/$/common/buildroot/ ~/out/sun50iw1p1/ubuntu16/common/buildroot/
$ ~/linux-3.10
$ ~/linux-3.10/output/lib/modules/3.10.105
$ ~/linux-3.10
~/buildroot/scripts/build.sh 解壓交叉編譯工具鏈
mkkernel -> prepare_toolchain -> ~/linux-3.10/scripts/build.sh(build_kernel -> build_modules -> build_ramfs -> gen_output -> [0;31;1msun50iw1p1 compile kernel successful)
1) build_kernel
1.拷貝 rootfs.cpio.gz
cp -f rootfs.cpio.gz output/
2.拷貝配置檔案 .config
cp arch/$/configs/$ .config
$"arm64"$""
arch/$/configs/ 目錄下有以下預設配置 .config 檔案:
defconfig sun50iw1p1smp_defconfig sun50iw1p1smp_android_defconfig sun50iw1p1smp_min_defconfig
3.編譯所有模組
make arch=$ cross_compile=$ -j$
all modules
4.更新核心版本,並更新 lichee_mod_dir 變數
update_kern_ver
5.找到所有 drivers sound crypto block fs security net 驅動路徑並拷貝到$
for
file
in$(find drivers sound crypto block fs security net -name "*.ko");
do cp $file
$done
問題:
vmlinux是什麼檔案,有什麼作用
module.symvers是什麼檔案,有什麼作用
2) build_modules
1.安裝系統驅動檔案,即將 *.ko 檔案拷貝到$
2.編譯安裝 nand 驅動檔案
3.編譯安裝 aw_schw 驅動檔案
4.編譯安裝 gpu 驅動檔案
3) build_ramfs
$ ./out/sun50iw1p1/ubuntu16/common/
1.生成 boot.img
$ --kernel $ \
--ramdisk $ \
--board $ \
--base $ \
--kernel_offset $ \
--ramdisk_offset $ \
-o output/boot.img
$ ~/tools/pack/pctools/linux/android/mkbootimg
$ sun50i
$ 當前函式中有賦值
$ 當前函式中有賦值
4) gen_output
編譯安卓平台,才會呼叫
$ ~/out/sun50iw1p1/ubuntu16/common
$dtc_compiler ~/linux-3.10/scripts
/dtc
1) do_prepare
2) do_ini_to_dts
1.通過 sys_config.fex 檔案 生成 dtb 裝置樹檔案
$dtc_compiler -o dtb -o $/sunxi.dtb \
-b 0 \
-i $dtc_src_path \
-f$dtc_ini_file \
-d $dtc_dep_file
$dtc_src_file
3) do_common
問題:
script sys_config.fex > /dev/null
4) do_pack_$
5) do_finish
原創 效能測試之 網路環境分析
這裡指的是頻寬網速的單位計算方式方法及關係。在計算機網路 idc機房中,其寬頻速率的單位用bps 或b s 表示 換算關係為 1byte 8bit 1b 8b 1b s 8b s 或1bps 8bps 1kb 1024b 1kb s 1024b s 1mb 1024kb 1mb s 1024kb s...
ubuntu 12 04編譯全志 SDK FAQ
bin sh 1 a unexpected operator awk line 4 function strtonum never defined awk line 4 function strtonum never defined 解決辦法 bin sh 1 a unexpected operat...
全志平台linux啟動流程分析
2015 08 02 16 31 一 brom階段 機器上電之後會執行固化在brom裡面的一段引導程式,這個程式會依次遍歷所有支援的啟動介質,直到找到第乙個支援的。目前支援的啟動介質是sd mmc卡 nand和spinor。當程式初始化啟動介質成功後,就從固定位置讀入bootloader的boot0...