五.製作工具mkfs.jffs2
A.安裝zlib
1. 解壓:tar –zvxf zlib-1.2.3.tar.gz
2.配置:./configure--shared --prefix=/usr/local/arm/4.4.3/arm-none-linux-gnueabi/
3.修改Makefile:
4.編譯:make
5.安裝:make install
B.安裝MTD
1.解壓:tar -jvxfmtd-snapshot-20050519.tar.bz2
2. 進入util
3. 修改Makefile:CROSS=/usr/local/arm/4.4.3/bin/arm-linux-
生成PC版本的只需要註釋掉CROSS=/usr/local/arm/4.4.3/bin/arm-linux-即可。
4.編譯:make
5.安裝:make install
6.拷貝mkfs.jffs和mkfs.jffs2到/bin下
7.生成根文件系統鏡像:PC版
./mkfs.jffs2 -r /home/lct/tftp_ld/ -o /home/lct/rootfs.jffs2-e 0x20000 -s 0x800 –n
六.安裝以及移植DNS到開發板
1.交叉編譯 openssl:
a.獲取源碼包openssl-1.0.1j.tar.gz 從網站http://www.openssl.org/ 獲取
b.解壓源碼:tar –zvxfopenssl-1.0.1j.tar.gz
c.配置:./config no-asm --prefix=/home/lct/lib--host=/usr/local/arm/4.4.3/bin arm-linux-
d.編譯:sudomake
e.安裝:sudomake install
2.交叉編譯 bind:
a.獲取源碼包bind-9.5.0.tar.gz 包含DNS協議的源碼
b.解壓源碼:tar –zvxfbind-9.5.0.tar.gz
c.配置:./configure --prefix=/home/lct/lib --host=/usr/local/arm/4.4.3/bin arm-linux-
d.編譯:sudomake
e.安裝:sudomake install
3.查看/home/lct/lib目錄下,有幾個庫:libbind9.a libdns.a libisc.a libisccc.a libisccfg.a liblwres.a,通過tftp將這些庫移植到開發板上相同目錄下
七.燒 錄
準備SD卡,格式化之後,將uboot.bin,uImage,busybox,拷貝到SD卡,插到開發板卡槽裏,進行燒錄。
uboot設置環境變量:
setenv bootargs mem=128Mconsole=ttyS2,115200n8 root=/dev/ram0 rw initrd=0xc1180000,4M
setenv bootcmd "if mmc rescan 0; then iffatload mmc 0 0xc0600000 boot.scr; then source 0xc0600000; else fatload mmc 00xc0700000 pru1808p43; fatload mmc 0 0xc1180000 ramdisk1808_v1.gz; bootmc0700000; fi; else sf probe 0; sf read xc0700000 0x80000 0x220000; bootm0xc0700000; fi"
saveenv
從SD複製kernel到NAND:
mmc rescan 0
fatload mmc 0 0xc0700000 uImage
nand erase 0x200000 0x400000
nand write.jffs2 0xc0700000 0x200000 0x300000
boot
cd /media/mmcblk0p1/
------------------------------------------------------
mtd4擦除命令:
./busybox flash_eraseall /dev/mtd4
NAND燒寫:
./busybox nandwrite -p /dev/mtd4 ubi.img
重啓後設置參數:
setenv bootargs mem=128M console=ttyS2,115200console=tty0 ubi.mtd=4 root=ubi0_0 rootfstype=ubifs init=/init mpurate=450androidboot.console=ttyS2 ip=dhcp
setenv bootcmd nand read.jffs2 0xc07000000x00200000 0x00300000\; bootm 0xc0700000
saveenv