做網(wǎng)站設(shè)置時(shí)間熱門關(guān)鍵詞查詢
(本篇文章以將Linux系統(tǒng)移植到S5P6818開發(fā)板為例)
本文章所需要的文件在下面鏈接獲取:https://download.csdn.net/download/a1547998353/89406544
開發(fā)環(huán)境搭建
1、安裝交叉編譯工具鏈
安裝步驟:
1. 在ubuntu的家目錄(~)下,創(chuàng)建toolchain
????????mkdir toolchain
2. 拷貝gcc-4.9.4.tar.xz到toolchain目錄下
? ? ? ? (gcc-4.9.4.tar.xz文件在文章開頭的鏈接獲取)
3. 解壓縮交叉編譯工具鏈
????????tar -vxf gcc-4.9.4.tar.xz
4. 配置環(huán)境變量
????????sudo vi /etc/bash.bashrc
????????在最后一行添加以下內(nèi)容:
????????export PATH=$PATH:/home/hq/toolchain/gcc-4.9.4/bin/
? ? ? ? 注意:紅色加粗部分改為你自己的用戶名
5. 使環(huán)境變量立即生效
????????source /etc/bash.bashrc
?2、配置tftp服務(wù)
(1)檢查Ubuntu是否安裝tftp服務(wù)
????????????????sudo dpkg -s tftpd-hpa
????????打印以下內(nèi)容表示安裝了tftp服務(wù),此時(shí)跳過第二步直接看第三步配置tftp:
????????Architecture: i386
????????Source: tftp-hpa
????????Version: 5.2-7ubuntu3.1
(2)安裝tftp服務(wù)
??????????sudo apt-get update? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?更新源
??????????sudo apt-get install -f? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?更新依賴
??????????sudo apt-get install tftpd-hpa tftp-hpa? ? ? ? 下載安裝指令
(3)配置tftp服務(wù)
????????1. 在家目錄下創(chuàng)建一個(gè)tftpboot文件夾
????????????????mkdir tftpboot
????????????????目的:tftpboot目錄下存放的是你要下載到開發(fā)板上的可執(zhí)行文件
????????2. 修改tftpboot的權(quán)限
????????????????sudo chmod 777 tftpboot
????????3. 配置tftp服務(wù)的環(huán)境變量
????????????????sudo vi /etc/default/tftpd-hpa
????????修改以下內(nèi)容:
1 # /etc/default/tftpd-hpa
2
3 TFTP_USERNAME="tftp" tftp用戶名,不需要修改
4 TFTP_DIRECTORY="/home/hq/tftpboot"tftp服務(wù)下載文件的存放的路徑,需要修改改成自己的對(duì)應(yīng)的tftpboot的路徑(將hq改為自己的用戶名即可)
5 TFTP_ADDRESS="0.0.0.0:69"tftp服務(wù)默認(rèn)使用的69端口號(hào)
6 TFTP_OPTIONS="-c -s -l" tftp服務(wù)的參數(shù),這個(gè)需要修改
? ? ? ? 4.?重啟tftp服務(wù)
????????????????sudo service tftpd-hpa start? ? ? ? ?啟動(dòng)TFTP服務(wù)
????????????????sudo service tftpd-hpa restart? ? ? ?重啟TFTP服務(wù)
3、配置nfs服務(wù)
(1)檢查nfs服務(wù)是否安裝
????????如果已安裝,跳過第二步看第三步
????????dpkg -s nfs-kernel-server
(2)安裝nfs服務(wù)
????????sudo apt-get install nfs-kernel-server
(3)配置nfs服務(wù)
? ? ? ? 1. 在家目錄下創(chuàng)建nfs文件夾
????????????????mkdir nfs
? ? ? ? 2. 修改文件權(quán)限
? ? ? ? ? ? ? ? chmod 777 nfs
? ? ? ? 3.?拷貝根文件系統(tǒng)鏡像到nfs目錄下
? ? ? ? ? ? ? ? 根文件系統(tǒng)文件:rootfs-A53-ok.tar.xz(文件在文章開頭的鏈接獲取)
? ? ? ? 4.?對(duì)根文件系統(tǒng)的壓縮包進(jìn)行解壓縮
????????????????cd ~/nfs
????????????????tar -vxf rootfs-A53-ok.tar.xz
? ? ? ? 5.?配置?nfs服務(wù)的環(huán)境變量
????????????????sudo vi /etc/exports
???????????????在文件的最后一行添加以下內(nèi)容:
/home/hq/nfs/rootfs/ *(rw,sync,no_subtree_check,no_root_squash)
// 還是將hq改成自己的用戶名即可
? ? ? ? 6.?重啟nfs服務(wù)
????????????????sudo service nfs-kernel-server start? ? ? ? ? 啟動(dòng)nfs服務(wù)
????????????????sudo service nfs-kernel-server restart? ? ? ?重啟nfs服務(wù)
4、配置Windows、linux、開發(fā)板處于同一局域網(wǎng)
注意配置時(shí)關(guān)閉Windows防火墻,退出殺毒軟件
?(1)配置Windows的網(wǎng)絡(luò)及ip地址
設(shè)置固定IP
?(2)配置linux的網(wǎng)絡(luò)ip
?
?左上角 虛擬機(jī)->設(shè)置
?設(shè)置固定IP:
(3)配置開發(fā)板ip
?配置開發(fā)板網(wǎng)絡(luò):uboot指令設(shè)置環(huán)境變量的值
setenv ipaddr 192.168.1.99? ? ? ? ? ? ?//設(shè)置開發(fā)板ip
setenv netmask 255.255.255.0? ? ? ? //掩碼
setenv gatewayip 192.168.1.1? ? ? ? ?//網(wǎng)關(guān)
setenv serverip 192.168.1.66? ? ? ? ?//服務(wù)器地址,填linux的ip
saveenv? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //保存
?系統(tǒng)移植
思路
uboot鏡像---------->Flashlinux內(nèi)核鏡像------>Flash
根文件系統(tǒng)鏡像----->Flash
先將鏡像使用tftp下載到內(nèi)存,
再從內(nèi)存中搬移到flash中,
啟動(dòng)時(shí),再從flash中搬移到內(nèi)存,
再從內(nèi)存中啟動(dòng)
移植步驟?
0、通過SD卡的方式啟動(dòng)uboot,進(jìn)入FS6818界面
1、將三段鏡像代碼放到tftpboot文件中
cp /mnt/hgfs/share/ubootpak.bin /home/hq/tftpboot
cp /mnt/hgfs/share/uImage /home/hq/tftpboot
cp /mnt/hgfs/share/ramdisk.img /home/hq/tftpboot
修改文件權(quán)限為最大:
chmod 777 ubootpak.bin
chmod 777 uImage
chmod 777 ramdisk.img
2、移植uboot
tftp 0x48000000 ubootpak.binupdate_mmc 2 2ndboot 0x48000000 0x200 0x78000
3、移植內(nèi)核鏡像ulmage和radisk.img
?tftp 0x48000000 uImage
mmc write 0x48000000 0x800 0x4000
tftp 0x48000000 ramdisk.img
mmc write 0x48000000 0x20800 0x20800
4、設(shè)置?bootcmd命令,從flash中啟動(dòng)系統(tǒng)
setenv bootcmd mmc read 0x48000000 0x800 0x4000\;mmc read 0x49000000 0x20800 0x20800\;bootm 0x48000000 0x49000000saveenv
5、設(shè)置?自啟動(dòng)的參數(shù) bootargs
setenv bootargs root=/dev/ram rw initrd=0x49000040,0x1000000 rootfstype=ext4 init=/linuxrc console=ttySAC0,115200saveenv
?設(shè)置好了上電重啟,完成啟動(dòng)。