嵌入式系統移植筆記(六) 核心移植

2021-09-30 16:46:35 字數 2475 閱讀 7102

首先將在ubuntu環境中,新增交叉編譯工具到path變數,永久有效。

root@linux:~/linux-3.14-fs4412# vim /etc/bash.bashrc 

export path=/home/linux/soft/gcc-4.6.4/bin:$path

/home/linux/soft/ 是工具鏈的路徑,新增到path的頭部;寫入/etc/bash.bashrc 中保證重啟機器後變數仍然有效。

2.解壓核心

tar -xvf  linux-4.19.1.tar.xz
3.進入目錄,在makefile中指定交叉編譯工具

root@linux:~/linux-3.14-fs4412# vim makefile

arch            ?= arm

cross_compile   ?= arm-none-linux-gnueabi-

arch指定預設索引路徑,cross_compile 指定交叉編譯工具的字首

4.匯入三星公司對該晶元的配置檔案

make exynos_defconfig     (arch/arm/configs/ 目錄下,arch/arm/configs/exynos_defconfig)
5.編譯核心,生成壓縮的核心映象檔案uimage

root@linux:~/linux-4.19.1# make uimage loadaddr=0x40008000
或者

make arch=arm cross_compile=arm-none-linux-gnueabi-       //編譯將會生成  zimage

cd linux-4.19.1/arch/arm/boot //進入目錄

執行命令將 zimage 製作成 uimage

mkimage -a arm -o linux -t kernel -c none -a 0x41000000 -e 0x41000040 -n "aaa" -d zimage uimage

6.編譯裝置樹

root@linux:~/linux-4.19.1# make dtbs
7.將核心與裝置樹檔案,放在 /tftpboot/(tftp服務根目錄)下

root@linux:~/linux-4.19.1/arch/arm/boot # cp uimage /tftpboot/

root@linux:~/linux-4.19.1/arch/arm/boot # cp dts/exynos4412-origen.dtb /tftpboot/

通過串列埠配置u-boot的啟動引數,讓u-boot通過tftp服務獲取uimage和 exynos4412-origen.dtb

配置如下

至此沒有異常的話可以正常啟動 linux, 但是掛載不了根檔案系統,因為沒有配置網絡卡驅動。

1.配置核心,menuconfig 驅動選配

make arch=arm menuconfig
[*] networking support  --->

networking options  --->

packet socket

unix domain sockets

[*] tcp/ip networking

[*]   ip: kernel level autoconfiguration

device drivers  --->

[*] network device support  --->

[*]   ethernet driver support (new)  --->

2.配置裝置樹,新增裝置樹節點

root@linux:~/linux-4.19.1# vim arch/arm/boot/dts/exynos4412-origen.dts

srom-cs1@5000000 ;

};

3.重新編譯核心和裝置樹,並覆蓋到tftp跟目錄下這樣上電就能成功載入核心,掛載nfs檔案系統了。

完畢。

嵌入式移植

深度學習嵌入式移植 1 移植原因 演算法必須在優化後的硬體上執行,因為學習成千上萬的資料可能需要長達幾周的時間。移動端其實不需要做tranning,只需要進行propagating,所以問題集中在移動端能不能存放並執行更大的network。2 常見的移動端開發裝置 nvidiajetsontx1 t...

嵌入式Linux系統移植(Linux核心初步分析)

嵌入式linux系統移植 linux核心初步分析 核心概述 linux是類似unix的作業系統,而linux系統的核心稱為linux kernel,這個作業系統的核心部分提供了對硬體的統一介面。核心是在引導時裝入的程式。核心識別硬體,初始化啟動指令碼,並且執行網路和終端守護程式 當啟動完畢之後,核心...

嵌入式Linux系統移植(Linux核心配置)

嵌入式linux系統移植 linux核心配置 linux移植是把linux作業系統針對具體的目標平台做必要改寫之後,安裝到該目標平台使其正確的執行起來。基本內容 1.獲取某版本的linux核心原始碼,根據我們的具體目標平台對這原始碼進行必要的改寫 主要是修改體系結構相關部分 2.新增一些外設的驅動,...