下面記錄了如何搭建嵌入開發環境,如何編譯uboot、kernel、和文件系統,如何燒寫鏡像以及如何配置uboot環境變量。
閱讀注意:記錄中(Base框中的內容)一些操作故意被添加,為了展示文件內容,故意調用cat(Ubuntu)或者type(window)命令;為了展示文件夾下的列表,故意用ls或者dir列出文件夾下的文件。記錄中xiptech@ubuntu:~$前綴的為Ubuntu下的操作,X6818#前綴的為開發板uboot操作。為了表明后面的操作是在什么平臺,我還加了“下面進行xxx操作”的轉場描述。
準備工作
下面進行window操作
1、vm安裝ubuntu 15.04 x64
2、共享一個window目錄到ubuntu
window分享的目錄E:\SVNFile\9dx6818Studio
映射到ubuntuxiptech@ubuntu:/mnt/hgfs/Share$?pwd
/mnt/hgfs/Share
下面進行ubuntu操作
3、ubuntu下添加一個工作目錄xiptech@ubuntu:~$?mkdir?9dx6818
4、將9dx6818共享到window
通過ui操作共享:在9dx6818文件夾上右鍵Local Network Share
或者直接修改smb.conf共享:xiptech@ubuntu:sudo?gedit?/etc/samba/smb.conf
文末尾添加[ubuntu_9dx6818]
comment?=?9dx6818?studio?on?ubuntu
path?=?/home/xiptech/9dx6818
browseable?=?yes
writable?=?yes
public?=?yes
guest?ok?=?yes
重啟samba服務xiptech@ubuntu:sudo?/etc/init.d/smbd?restart
下面進行window操作
5、建立網絡映射
u-boot編譯
下面進行ubuntu操作
1、源碼拷貝解壓
x6818_linux_160719.tar.bz2解壓到/home/xiptech/9dx6818/
編譯
u-boot配置說明:
/home/xiptech/9dx6818/x6818_linux_160719/uboot下有幾個配置
nsih.txt: uboot實際編譯的文件,默認為 ibox6818 卡片電腦 2GB 配置文件;
nsih-2G16b-800M.txt: x6818 開發板 2GB DDR3 的配置文件;
nsih-1G16b-800M.txt: x6818 開發板配置文件;
nsih-2G8b-800M.txt: ibox6818 2GB DDR3 的配置文件;
所以我們的開發版用的是nsih-1G16b-800M.txt,寫一個編譯腳本mk_x6818_board.sh并執行編譯xiptech@ubuntu:~/9dx6818/x6818_linux_160719$?cat?mk_x6818_board.sh
echo?"config?ddr3=1G16b-800M"
cp?uboot/nsih-1G16b-800M.txt?uboot/nsih.txt
./mk?-u
xiptech@ubuntu:~/9dx6818/x6818_linux_160719$?./mk_x6818_board.sh
輸出xiptech@ubuntu:~/9dx6818/x6818_linux_160719/out/release$?ls?*bin
ubootpak.bin
內核編譯
編譯xiptech@ubuntu:~/9dx6818/x6818_linux_160719$?./mk?-k
輸出xiptech@ubuntu:~/9dx6818/x6818_linux_160719/out/release$?ls?*img
boot.img
文件系統編譯
安裝依賴軟件xiptech@ubuntu:sudo?apt-get?install?texinfo
xiptech@ubuntu:sudo?apt-get?install?git
xiptech@ubuntu:sudo?apt-get?install?lib32stdc++-4.9-dev
xiptech@ubuntu:sudo?apt-get?install?lib32z1
打開文件buildroot/output/build/host-ncurses-5.9/include/curses.h找到extern?NCURSES_EXPORT(bool)????mouse_trafo?(int*,?int*,?bool);??????????????/*?generated?*/
將這句注釋刪除掉:/*?generated?*/
編譯xiptech@ubuntu:~/9dx6818/x6818_linux_160719$?./mk?-b
輸出xiptech@ubuntu:~/9dx6818/x6818_linux_160719/out/release$?ls?*rootfs*
qt-rootfs.img
...額!文件系統build3個鐘頭...
fastboot燒寫鏡像
1、連接串口和usb
開發版操作SecureCRT連接開發版調試串口(default:115200、右邊那個串口),使用安卓數據線連接電腦usb和開發版OTG接口
下面進行windows操作
2、安裝fastboot工具
安裝到E:\SVNFile\9dx6818Studio\utils\fastbootE:\SVNFile\9dx6818Studio\utils\fastboot?的目錄
2017/09/01??15:27????
2017/09/01??15:27????
2013/02/12??08:08???????????815,104?adb.exe
2013/02/12??08:08????????????96,256?AdbWinApi.dll
2013/02/12??08:08????????????60,928?AdbWinUsbApi.dl
2011/03/24??15:17?????????1,787,392?ApkInstaller.ex
2011/06/09??11:20???????????????404?ApkInstaller.in
2013/02/12??08:08???????????157,184?fastboot.exe
2010/10/23??16:04????????????????63?license
下面進行開發板操作
3、開發板重啟并敲回車進入u-boot
4、進入fastboot模式X6818#?fastboot
Fastboot?Partitions:
mmc.2:?ubootpak,?img?:?0x200,?0x78000
mmc.2:?2ndboot,?img?:?0x200,?0x4000
mmc.2:?bootloader,?img?:?0x8000,?0x70000
mmc.2:?boot,?fs?:?0x100000,?0x4000000
mmc.2:?system,?fs?:?0x4100000,?0x2f200000
mmc.2:?cache,?fs?:?0x33300000,?0x1ac00000
mmc.2:?misc,?fs?:?0x4e000000,?0x800000
mmc.2:?recovery,?fs?:?0x4e900000,?0x1600000
mmc.2:?userdata,?fs?:?0x50000000,?0x0
Support?fstype?:?2nd??boot??factory??raw??fat??ext4??emmc??nand??ubi??ubifs
Reserved?part??:?partmap??mem??env??cmd
DONE:?Logo?bmp?311?by?300?(3bpp),?len=280854
DRAW:?0x47000000?->?0x46000000
Load?USB?Driver:?android
Core?usb?device?tie?configuration?done
OTG?cable?Connected!
------------------------------------------
下面進行window操作
5、鏡像準備
將需要燒寫的鏡像拷貝到E:\SVNFile\9dx6818Studio\upgrade目錄E:\SVNFile\9dx6818Studio\upgrade?的目錄
2017/08/28??15:00????????16,998,632?boot.img
2017/08/28??17:36???????536,870,912?qt-rootfs.img
2017/08/28??15:00???????????303,544?ubootpak.bin
6、燒寫
添加三個腳本用于發起燒寫,直接雙擊執行腳本燒寫E:\SVNFile\9dx6818Studio\upgrade>type?upgrade_ubootpak.cmd
fastboot?flash?ubootpak?ubootpak.bin
pause
E:\SVNFile\9dx6818Studio\upgrade>type?upgrade_boot.cmd
fastboot?flash?boot?boot.img
pause
E:\SVNFile\9dx6818Studio\upgrade>type?"upgrade_qt-rootfs?.cmd"
fastboot?flash?system?qt-rootfs.img
pause
下面進行開發板操作
7、u-boot環境變量配置X6818#?setenv?bootcmd?"ext4load?mmc?2:1?0x48000000?uImage;bootm?0x48000000"
X6818#?setenv?bootargs?"lcd=wy070ml?tp=gslx680-linux?root=/dev/mmcblk0p2?rw?rootfstype=ext4"
X6818#?setenv?ubootpak?1
X6818#?setenv?boot?1
X6818#?setenv?system?1
X6818#?setenv?userdata?0
X6818#?setenv?cache?0
X6818#?save