文章目錄
#1環境搭建所需材料
- Linux 內核代碼
- 編譯器
- 文件系統
- samba
- tftp
- SecureCRT6.0
- 開發板uboot
- nfs-kernel-server
#2環境搭建所需材料之間的關係
#3所使用的開發板
#4譯內核
##4.1修改makefile
##4.2拷貝配置文件
##4.3編譯得到zImage
##4.4把zImage轉成uImage
#5開發板串口連接
串口形狀 ,在電腦上映射出來的串口設備連接串口
到0回車。。。
#6uboot設置
#7通過tftp服務器下載uImage
#8啓動內核
這時啓動內核後還不會進入文件系統
#9先看掛載文件系統的樣子
先看現象:掛載成功,啓動板子,再tftp下載
#10下面正式來操作
##10.1安裝nfs-kernel-server
##10.2配置網絡文件系統
重啓遠程文件系統
/etc/init.d/nfs-kernel-server restart
##10.3配置內核裏面的nfs選項
make menuconfig
#11配置開發板的啓動參數
#12操作板子的Linux
下來可以通過SecureCRT操作板子的Linux系統了。我們可以在Ubuntu先用arm-linux-gcc 編譯一個hello.c,然後把可執行文件複製到板子的遠程文件系統,最後在SecureCRT裏運行hello。
#13注意(總結)
- 64位Ubuntu 編譯linux源碼arm-linux-gcc問題
好像要下載個軟件
吳兵(1040003585) 2017-5-16 14:36:59
make出問題
韓滔(1198637117) 2017-5-16 14:37:50
你用的vm和Ubuntu什麼版本
吳兵(1040003585) 2017-5-16 14:39:19
ubuntu 64位
程老師(1209050967) 2017-5-16 14:43:25
但arm編譯器是32位
韓滔(1198637117) 2017-5-16 14:45:08
sudo apt-get install lsb-core
吳兵(1040003585) 2017-5-16 14:57:27
吳兵(1040003585) 2017-5-16 16:32:38
板子網線是連接和電腦同一個網段的路由器
吳兵(1040003585) 2017-5-16 17:00:03
tftp
吳兵(1040003585) 2017-5-16 17:01:58
搞定
- bootm之後就卡在這裏——兩個782改爲1999
參考文檔,把782改成1999即可@吳兵
吳兵(1040003585) 2017-5-16 17:43:40
ok
吳兵(1040003585) 2017-5-16 17:52:45
@張奧華 兩個782都要改嗎?
這是什麼道理
張奧華(434638973) 2017-5-16 17:52:57
是的
改成1999
mach type不匹配
程老師(1209050967) 2017-5-16 17:53:39
uboot引導的內核需要與其機器類型一致
- 設置bootargs (文件系統路徑)
setenv bootargs noinitrd root=/dev/nfs rw nfsroot= 172.16.245.93:/home/wuchengbing/linux/root_nfs ip= 172.16.245.254:172.16.245.93: 172.16.245.1:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M
文件系統IP:172.16.245.93
板子IP:172.16.245.254
網關:172.16.245.1
掩碼:255.255.255.0
- bootm能不能成功掛載文件系統
@張奧華 搞定,重啓遠程文件系統
/etc/init.d/nfs-kernel-server restart
吳兵(1040003585) 2017-5-16 18:59:05
#附錄
工具下載鏈接:
https://github.com/1040003585/Mini2440/tree/master/Tools
Wu_Being 博客聲明:本人博客歡迎轉載,請標明博客原文和原鏈接!謝謝!
《【ARM】一步一步移植Linux Kernel 2.6.13到板子》
http://blog.csdn.net/u014134180/article/details/72873397