這篇文章主要介紹Freescale Ltib-MPC8308如何安裝,編譯,燒寫uboot,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在VM(Fedroa9)上建立交叉編譯環境
. 安裝步驟(in Fedora9)
(TLIB是Freescale比較早期開發的跨平臺交叉編譯包, 所以不建議在新近的Linux上運行)
(TLIB建議在Redhead系Linux上運行)
(故我們最終選擇Fedroa9平臺 with GCC4.3)
原始文檔: ltib-mpc8308erdb-20100413.iso;
首先mount該iso:
mount -o loop ltib-mpc8308erdb-20100413.iso /mnt/ltib
安裝:
cd /mnt/ltib
./install
安裝時程序會提示要安裝的目錄, 本例中設置目錄為 ~/WorkShop;
安裝完成后我們得到 ~/WorkShop/mpc8308erdb-20100413/;
調整visudo:
由于運行ltib程序需要用戶級權限, 然而運行過程中又需要某些root權限下的操作,
故首先需要調整sudo組權限:
cd /usr/sbin/
./visudo
在User privilege section下添加
quakezh ALL=NOPASSWD: /bin/rpm, /opt/freescale/ltib/usr/bin/rpm
保存, 退出
首次運行ltib程序:
./ltib
若系統缺少所必須的工具包, 會給予提示;
首次運行ltib需要較長時間, 完成后, 交叉目標平臺的工具鏈被保存在 /opt/freescale下,
其中, gcc(for Freescale e300c)保存在/ope/freescale/usr/local/目錄下,
用戶若開發該平臺的應用程序, 需使用此gcc來編譯;
-------------------------------------------------------------------------------
. LTIB命令
./ltib -m config
僅配置
./ltib --configure
配置及編譯
ltib [-m <mode>] [options....]
舉例:
./ltib -m prep -p helloworld
對helloworld文件包解壓, 輸出目錄為/../安裝目錄/ltib-mpc8313erdb-20070824/rpm/BUILD;
./ltib -m prep -p kernel
./ltib -m prep -p u-boot
解出的源文件保存在 rpm/BUILD
./ltib -m scbuild -p kernel
下面給出LTIB的常用命令:
--mode | m
prep //解開源碼包并打補丁
scbuild //解開源碼包、打補丁然后編譯
scinstall //解開源碼包、打補丁,編譯后安裝
scdeploy //運行一個scinstall命令并安裝到rootfs下
patchmerge //生成并且合并一個補丁 (需要與-p <pkg>一起使用)
clean //清除并且反安裝目標源碼包
distclean //完全清除,移除相關的所有東西
listpkgs //列出源碼包(按字母排序)
release //制作一個二進制發布iso鏡像
config //使用--configure命令,僅做配置
shell //進入ltib命令行模式
--pkg|p : //僅操作指定源碼包
--configure|c : //運行交互式配置
--preconfig : //配置文件來源
--profile : //profile文件。這個被用來選擇用戶空間源碼包集合(例如
config/profiles/max.config)
--rcfile|r : //使用這個資源文件
--batch|b : //批處理模式,假定對所有的問題回答yes
--force|f : //強迫重新編譯鏈接即使已經更新到最新
--reinstall|e : //重新安裝rpm包
--nodeps|n : //關閉安裝和反安裝依賴關系檢查
--conflicts|k : //不強迫安裝有文件沖突的rpm包
--keepsrpms|s : //保留srpms 在編譯鏈接之后 (缺省是刪除的)
--verbose|v : //更多的輸出
--dry-run|d : //只運行不打印 (僅輸出echo消息)
--continue|C : //在源碼包編譯鏈接過程中出錯也繼續進行
--version|V : //打印應用程序版本并退出
--noredir|N : //不重定向到任何輸出
--deploy|D : //運行部署腳本即使已經更新
--dlonly : //僅下載源碼包
--dltest : //測試BSP的源碼包是否有效
--leavesrc|l : //留下不解壓的源碼包 ( 僅在pkg模式下使用)
--hostcf : //重新配置編譯鏈接安裝主機支持的源碼包集
--help|h : //使用幫助
-------------------------------------------------------------------------------
生成文件說明 :
rootfs.ext2.gz.uboot
ram-disk image that can be load with u-boot
rootfs.jffs2
jffs2 filesystem image
rootfs
directory,the root file system that will be deployed on your Board
rootfs/boot/uImage
kernel image that can be load with u-boot
rootfs/boot/u-boot.bin
u-boot binary image that can be programmed into mpc8315erdb board nor flash
rootfs/boot/u-boot-nand.binary--
u-boot binary image that can be programmed into mpc8315erdb board nand flash
rootfs/boot/mpc8315erdb.dtb
device tree binary(dtb)files for kernal boot up(support usb internal phy)
rootfs/boot/mpc8315erdb_uipi.dtb
device tree binary(dtb)files for kernal boot up (support usb external phy)
內核文件為 rootfs/boot/uImage,
根文件系統文件為 rootfs.ext2.gz.uboot
u-boot.bin u-boot
mpc8315erdb.dtb s
//-----------------------------------------------------------------------------
RootFS中加入其他文件:
用戶有時候需要在根文件系統中加入一些自己的文件,只需要在平臺目錄下建立merge文件夾,
將需要加入的文件放入merge文件下就可以了,merge文件夾下的文件在開發板上相當于位于根文件系統下面.
步驟如下:
2. # mkdir -p config/platform/mpc8308erdb/merge/xxx
3. # cp /myfile1 config/platform/mpc8308erdb/merge/xxx
這個過程簡單說就是, 建merge文件夾, 把要加的文件放到merge里, 執行./ltib
//-----------------------------------------------------------------------------
. 首先, VM上要配置好tftp服務器;
Fedora9中, tftp的配置文件/etc/xinetd.d.tftp
. 建立tftp目錄:
一般設置在根目錄下;
/tftp/mpc8308
該權限為777;
. 將ltib編譯好的文件拷貝到tftp目錄下, 文件包括
linux.config
mpc8308erdb.dtb
mpc8308erdb.dtu
System.map
u-boot
u-boot.bin
uImage
vmlinux
vsc2bin
編譯好的U-image所在目錄:
/rpm/BUILD/linux-2.6.29.6/arch/powerpc/boot
//-----------------------------------------------------------------------------
MPC8308開發板啟動后進入u-boot設置狀態;
可能需要設置u-boot環境變量;
//設置本設備地址:
setenv ipaddr 192.168.0.201
//設置tftp服務器地址:
setenv serverip 192.168.0.123
setenv gatewayip 192.168.0.201
//出廠設置
setenv tftp_path mpc8308
setenv ramdiskaddr 2400000
setenv loadaddr 2000000
setenv kernaddr 2000000
setenv fdtaddr 1f00000
setenv ramdisksize 90000
setenv dtbname mpc8308erdb.dtb
setenv hostname PowerQUICC
setenv flashkernaddr fe0a0000
setenv flashkernend fe2fffff
setenv flashramdiskaddr fe300000
setenv flashramdiskend fe7effff
setenv flashfdtaddr fe7f0000
setenv flashfdtend fe7f3fff
setenv fdtsize 3000
setenv vscfwaddr fe7fe000
setenv vscfwend fe7fffff
//設定系統啟動方式 (bootm means boot-memory-map)
setenv bootcmd bootm fe0a0000 fe300000 fe7f0000
setenv bootfile mpc8308/uImage
setenv fdtfile mpc8308/mpc8308erdb.dtb
setenv ramdiskfile mpc8308/rootfs.ext2.gz.uboot
setenv bootargs root=/dev/ram ramdisk_size=90000 rwip=192.168.0.201:192.168.0.111:192.168.0.201::PowerQUICC:eth0:off console=ttyS0,115200
Update-Kernel:
tftp 2000000 mpc8308/uImage
erase fe0a0000 fe2fffff
cp.b 2000000 fe0a0000 $filesize
Update-DTB:
tftp 2000000 mpc8308/mpc8308erdb.dtb
//erase fe7f0000 fe7f3fff
erase fe7f0000 fe7f7fff
//erase fe7f0000 fe7fffff
cp.b 2000000 fe7f0000 $filesize
Update-rootfs:
tftp 2400000 mpc8308/rootfs.ext2.gz.uboot
erase fe300000 fe7effff
cp.b 2400000 fe300000 $filesize
-------------------------------------------------------------------------------
查看硬盤設備號:
fdisk -l
加掛到指定目錄:
mount -t vfat /dev/sda1 /mnt/src
-------------------------------------------------------------------------------
VM-Host(IP:192.168.0.123) NFS to MPC8308e-rdb:
(注意要加'nolock')
mount -t nfs -o nolock 192.168.0.123:/var/nfsshare /mnt/nfs/
以上是“Freescale Ltib-MPC8308如何安裝,編譯,燒寫uboot”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。