国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > linux系統(tǒng)移植的詳細(xì)步驟

linux系統(tǒng)移植的詳細(xì)步驟 時(shí)間:2018-08-30      來源:未知

系統(tǒng)移植在學(xué)習(xí)中是比較難的,對于系統(tǒng)移植來說可以從4個(gè)方面來了解:環(huán)境搭建,u-boot,kernel,rootfs,今天華清遠(yuǎn)見的美女學(xué)霸總結(jié)出來系統(tǒng)移植的相關(guān)知識(shí)及系統(tǒng)移植的過程,比較詳細(xì)

啟動(dòng)過程:

BL0 --> BL1 --> BL2 --> u-boot --> kernel --> rootfs iROM iRAM iRAM DRAM DRAM DRAM

Sams Sams

上圖中的u-boot指的是 u-boot.bin

BL1,BL2,u-boot.bin共同組成 u-boot-fs4412.bin

BL1跟CPU相關(guān)

BL2跟板子配置相關(guān),BL2初始化內(nèi)存一、環(huán)境搭建

交叉編譯工具鏈網(wǎng)絡(luò)配置

tftp服務(wù)器配置

nfs服務(wù)器配置

binutils工具集,addr2line, strip, ... 二、u-boot

u-boot常用命令:

1. help

2. 環(huán)境變量相關(guān),print,set,save

3. emmc相關(guān)的,movi,mmcinfo

4. 數(shù)據(jù)傳輸,tftp,loadb

5. 運(yùn)行相關(guān),run,go,bootm,boot;環(huán)境變量:bootcmd, bootargs

配置 make fs4412_config

指定交叉編譯,指定平臺(tái),可以通過修改Makefile來實(shí)現(xiàn)編譯 make -j2

移植:方法參看README中的U-Boot Porting Guide 三、kernel

配置 make menuconfig

指定交叉編譯,指定平臺(tái),可以通過修改Makefile來實(shí)現(xiàn)編譯 make uImage -j2

移植:見招拆招

四、rootfs busybox

配置 make menuconfig

指定交叉編譯,指定平臺(tái),可以通過修改Makefile來實(shí)現(xiàn)編譯 make -j2

安裝 make install,默認(rèn)安裝到 _install目錄五、固化

farsight@ubuntu:$表示在虛擬機(jī)中的操作FS4412 #表示在板子上的u-boot中的操作[root@farsight ]#表示板子上shell中的操作

1. 固化u-boot

1. 做一個(gè)SD卡啟動(dòng)盤

farsight@ubuntu:$ sudo ./sdfuse.sh /dev/sdb u-boot- fs4412.bin

或 者 直 接 用 命 令 :sudo dd iflag=dsync oflag=dsync if=/home/farsight/u-boot-fs4412.bin of=/dev/sdb seek=1

2. 從SD卡啟動(dòng),通過tftp下載 u-boot-fs4412.bin

FS4412 # tftp 40008000 u-boot-fs4412.bin(要提前把網(wǎng)絡(luò)配置好,tftp服務(wù)器配置好,環(huán)境變量serverip,ipaddr設(shè)置好)

3. 燒寫

FS4412 # movi write u-boot 40008000 (此地址要與第2 步中tftp下載的地址一致)

4. 測試一下:從emmc啟動(dòng),看u-boot能否啟動(dòng)起來

2. 固化kernel和設(shè)備樹

1. 通過tftp下載 uImage 并燒寫FS4412 # tftp 40008000 uImage

FS4412 # movi write kernel 40008000

2. 通過tftp下載 exynos4412-fs4412.dtb 并燒寫FS4412 # tftp 40008000 exynos4412-fs4412.dtb FS4412 # movi write dtb 40008000

3. 固化rootfs(通過文件復(fù)制的方式來實(shí)現(xiàn))

1. 對eMMC進(jìn)行分區(qū)(兩種方法) 方法1. 在u-boot里分區(qū)

FS4412 # fdisk -c 0 方法2. 系統(tǒng)起來之后分區(qū)

[root@farsight ]# fdisk -u /dev/mmcblk0

...... 通過fdisk實(shí)現(xiàn)自己需要的分區(qū)

2. 通過NFS掛載根文件系統(tǒng)來啟動(dòng)系統(tǒng)

設(shè)置bootargs從NFS掛載根文件系統(tǒng)FS4412 # set bootargs root=/dev/nfs

nfsroot=192.168.123.123:/home/farsight/busybox-1.22.1/_install rw console=ttySAC2,115200 init=/linuxrc ip=192.168.123.111 clk_ignore_unused=true

設(shè)置bootcmd從emmc讀取kernel和設(shè)備樹,然后啟動(dòng)FS4412 # set bootcmd movi read kernel 41000000\;

movi read dtb 42000000\; bootm 41000000 - 42000000

FS4412 # save

3. 格式化

[root@farsight ]# mkfs.ext2 /dev/mmcblk0p1

4. 掛載格式化好的磁盤

[root@farsight ]# mount -t ext2 /dev/mmcblk0p1 /mnt

5. 通過NFS掛載做好的根文件系統(tǒng)[root@farsight ]# mount -t nfs -o nolock

192.168.123.123:/home/farsight/busybox-1.22.1/_install /tmp

6. 燒寫(復(fù)制)根文件系統(tǒng)

[root@farsight ]# cp -a /tmp/* /mnt 啟動(dòng)配置:

FS4412 # set bootargs root=/dev/mmcblk0p1 rw console=ttySAC2,115200 init=/linuxrc ip=192.168.123.111 clk_ignore_unused=true

root=/dev/mmcblk0p1是指定從mmc的第一個(gè)分區(qū)去掛載根文件系統(tǒng)

FS4412 # save

上一篇:c多態(tài)的作用,讓你快速學(xué)會(huì)c多態(tài)

下一篇:C語言中數(shù)據(jù)的輸入輸出詳解

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部