linux核心和uboot的原始碼包—- 6818gec.tar.gz 環境:vmware12.0 ubuntu16.04(64位)
(1)先將 6818gec.tar.gz 放在ubuntu的共享目錄下,然後將 6818gec.tar.gz 拷貝到家目錄下進行解壓。
解壓命令:gec@ubuntu:~$ tar -zxvf 6818gec.tar.gz
(2)gec@ubuntu:~/6818gec$ ./mk -u
編譯輸出
ld u-boot —–>鏈結成u-boot可執行映像檔案
objcopy u-boot.srec
objcopy u-boot.bin —>將u-boot可執行映像檔案進行格式轉換,轉換成bin格式的檔案
./tools/mk6818 gecuboot.bin nsih.txt 2ndboot u-boot.bin —->將nsih.txt 2ndboot u-boot.bin打包生成gecuboot.bin–>emmc
nsih : 189 line processed.
nsih : 512 bytes generated.
generate destination file: gecuboot.bin
『/home/gec/6818gec/gec6818uboot/gecuboot.bin』 -> 『/home/gec/6818gec/out/release/gecuboot.bin』
『/home/gec/6818gec/gec6818uboot/readme.txt』 -> 『/home/gec/6818gec/out/release/readme.txt』
『/home/gec/6818gec/gec6818uboot/env.txt』 -> 『/home/gec/6818gec/out/release/env.txt』
『/home/gec/6818gec/gec6818uboot/gec6818-sdmmc.sh』 -> 『/home/gec/6818gec/out/release/gec6818-sdmmc.sh』
^_^ uboot path: /home/gec/6818gec/out/release/gecuboot.bin —->將gecuboot.bin拷貝到out/release/下
(3)gec@ubuntu:~/6818gec$ ./mk -k
編譯輸出:
kernel: arch/arm/boot/image is ready
kernel: arch/arm/boot/zimage is ready
uimage arch/arm/boot/uimage
image name: linux-3.4.39-gec
created: mon feb 26 22:06:56 2018
image type: arm linux kernel image (uncompressed)
data size: 5532568 bytes = 5402.90 kb = 5.28 mb
load address: 40008000
entry point: 40008000
image arch/arm/boot/uimage is ready
boot.img -> /home/gec/6818gec/out/release
『/home/gec/6818gec/kernel/arch/arm/boot/uimage』 -> 『/home/gec/6818gec/out/target/product/gec6818//boot/uimage』
make_ext4fs -s -t -1 -l 67108864 -a boot /home/gec/6818gec/out/target/product/gec6818 /home/gec/6818gec/out/target/product/gec6818//boot
creating filesystem with parameters:
size: 67108864
block size: 4096
blocks per group: 32768
inodes per group: 4096
inode size: 256
journal blocks: 1024
label:
blocks: 16384
block groups: 1
reserved block group size: 7
created filesystem with 18/4096 inodes and 4212/16384 blocks
『/home/gec/6818gec/out/target/product/gec6818』 -> 『/home/gec/6818gec/out/release/boot.img』
核心映像檔案的生成過程:
核心原始碼—>image–>壓縮–>zimage—>使用mkimage工具,在zimage的前面加乙個頭–>uimage—>經過檔案系統打包,生成boot.img
/home/gec/6818gec/out/release/boot.img
1、gec6818uboot
—–>u-boot的原始碼包
gec@ubuntu:~/6818gec$ ls gec6818uboot/
2ndboot board config.mk doc env.txt gec6818-sdmmc.sh kbuild makeall net nsih-2g16b-533m.txt nsih.txt readme.txt system.map u-boot u-boot.map
api boards.cfg credits drivers examples gecuboot.bin lib makefile nsih-1g16b-533m.txt nsih-2g16b-800m.txt post scripts test u-boot.bin u-boot.srec
arch common disk dts fs include licenses mkconfig nsih-1g16b-800m.txt nsih-2g8b.txt readme snapshot.commit tools u-boot.lds
2、kernel
——>linux核心的原始碼
gec@ubuntu:~/6818gec$ ls kernel
android copying documentation fs init kconfig maintainers modules.builtin net samples sound usr vmlinux.o
arch credits drivers gec6818_linux_config ipc kernel makefile modules.order readme scripts system.map virt
block crypto firmware include kbuild lib mm module.symvers reporting-bugs security tools vmlinux
4、out
——>編譯生成的u-boot和kernel的映像檔案
/out/release/gecuboot.bin
/out/release/boot.img
5、prototype
——->linux核心使用的一些韌體程式,這些韌體程式是針對s5p6818底層外設,如:串列埠、看門狗、定時器、usb.、、、、
6、tools
——->編譯u-boot或kernel使用的一些工具
8、buildroot
——->生成跟檔案系統的內容
1、使用fastboot
2、使用恢復卡(micro sd==tf卡)
Linux核心編譯和替換核心
linux核心支援多種架構。該篇小記是筆者第一次針對已有的核心配置檔案來編譯核心的,比如arm系列的博通bcm,海思hisi,恩智浦i.mx6ull 本次是針對博通bcm2709 defconfig來編譯核心的。本次是針對博通bcm2709 defconfig來編譯核心 安裝交叉編譯工具鏈 安裝nc...
Linux公升級和編譯核心
最近幾年linux核心推陳出新,版本迭代的速度明顯加快了很多,由於linux之父對核心版本號的設定的改革,版本號不會再像2.4和2.6時代,很久時間主版本號都不會變動了。給人的感覺就是版本更替的速度加快了很多,除此之外,也會提高關於linux核心的關注度,隨著linux的發展壯大,應用越來越普遍,l...
Linux核心編譯安裝和解除安裝核心
linux開行版的自帶核心不一定能滿足linux學習和某些特殊的要求,這時我們就不得不根據自己的需求重新安裝核心。這裡我介紹一些常用編譯核心的步驟。核心編譯安裝 p.s.學習最新的核心,可以轉殖linus在github的 二 選擇核心配置 p.s.選擇預設選項的話 make defconfig。p....