最近pcDuino官方公佈了kernel源碼,非常興奮,決定開始在pcDuino上移植linux系統,有興趣的一塊兒討論哈 linux
目標: git
1,移植的u-boot 2012.10 github
2,移植的linux內核 ubuntu
3,移植最小文件系統 api
開發環境: 測試
系統:Ubuntu的10.04.4 ui
單板:pcDuino google
編譯器:臂2009Q3-67-臂沒有Linux的gnueabi-i686的PC-LINUX-gnu.tar.bz2 spa
下面移植pcDuino官方最新公佈的U-開機 .net
1,獲取源碼
pcDuino提供的u-boot的孫喜 https://github.com/pcduino/kernel 下載ü啓動孫喜源碼
獲取交叉編譯鏈 http://code.google.com/p/smp-on-qemu/downloads/list
選擇arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2並下載。而後在ubuntu下直接解壓便可,還要配置環境變量
的sudo gedit中的/ etc /環境
修改PATH,在最後再加「:/…/arm-2009q3/bin」,其中「…」是上面arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2解壓的路徑。
接着退出Ubuntu的系統,就能夠直接使用交叉編譯鏈。
(2)編譯的u-boot
解壓上面下載的的u-boot-孫喜sunxi.zip到工做目錄,接着配置單板並編譯
使pcDuino CROSS_COMPILE =臂沒有Linux的gnueabi
最後輸出以下,編譯成功
臂沒有Linux的gnueabi-LD-G-Ttext的0×5000 \
-O的hello_world-E的hello_world hello_world.o libstubs.o \
-L/home/change/tools/arm-2009q3/bin/../lib /
手臂gcc/arm-none-linux-gnueabi/4.4.1 lgcc 沒有Linux的gnueabi-objcopy把-O SREC的hello_world hello_world.srec 2> / dev / null的
臂沒有Linux的gnueabi objcopy把-O二進制的hello_world 2 hello_world.bin> / dev / null的
[2]:離開目錄`/ home/change/Si/A10/pcduino/u-boot-sunxi-sunxi/examples/standalone'
MAKE-C的例子/ API
[2 ]:進入目錄`/ home/change/Si/A10/pcduino/u-boot-sunxi-sunxi/examples/api'
[2]:沒有什麼能夠作的爲`all'。
[2]:離開目錄` / home/change/Si/A10/pcduino/u-boot-sunxi-sunxi/examples/api'
[1]:正在離開目錄的`/ home/change/Si/A10/pcduino/u-boot-sunxi-sunxi'
3,燒寫,測試
上述生成的第一階段/ SPL /孫喜spl.bin的,第二階段/ U-BOOT.BIN是支持SD卡啓動的,準備TF卡讀卡器,鏈接到PC,下面是燒寫命令
改變@變化:〜/ Si/A10/pcduino/u-boot-sunxi-sunxi $ sudo的DD,若是 1 +0記錄了= / dev / zero的= / dev / sdb上的BS = 1M計數= 1
1 +0記錄 若是= 1048576字節(1.0 MB)複製,0.511973秒,2.0 MB / s的變化變化:〜/ Si/A10/pcduino/u-boot-sunxi-sunxi $ sudo的日SPL / = / dev的孫喜spl.bin / SDB BS = 1024尋求= 8 20 0條記錄中 20 +0的記錄了 20480個字節(20 KB)複製,0.0134902Ş,1.5 MB / s的變化變化:〜/ Si/A10/pcduino/u-boot-sunxi孫喜$ sudo的日的u-boot.bin = / dev / SD的 SDA SDA1 SDA2 SDA3 SDA4 SDA5 SDA6的SDB 變化@變化:〜/ Si/A10/pcduino/u-boot-sunxi-sunxi $ sudo的DD若是=的u-boot.bin尋求= / dev / sdb上的BS = 1024 = 32 171 +1 171 +1 175272字節記錄了記錄(175 KB)複製,0.0930407Ş,1.9 MB / s的
取下tf卡,插到pcDuino的tf卡槽,接上串口線,pcDuino默認是從sd卡啓動的,上電串口輸出以下:
U-Boot的SPL 2012.10(2013年4月19日- 18時46分44秒)
內存:1024MB
孫喜SD / MMC:0
的U-Boot 2012.10(2013年4月19日- 18時46分44秒)的全志科技
CPU:孫喜家庭
電路板:pcDuino
I2C:準備
DRAM:1 GIB
MMC:孫喜SD / MMC:0
***警告-壞CRC,使用默認的環境
:串行
輸出:串行
錯誤:串行
命中任意鍵中止自動引導:0
sun4i#
u-boot的基本移植成功,下階段實現目標二的linux內核移植。
轉載自CSDN,感謝我用國芯分享。
原帖地址:http://blog.csdn.net/u010216127/article/details/8825788