一. 將bootloader燒入SD卡 1.格式化SD卡(不掛載): fdisk /dev/sdx -d 刪除 -n 新建分區 -w 保存退出 6~default sdx1 兩種格式化方式: mkfs -t vfat /dev/sdx1 ...
一. 將bootloader燒入SD卡
1.格式化SD卡(不掛載): fdisk /dev/sdx -d 刪除 -n 新建分區 -w 保存退出 6~default sdx1
兩種格式化方式: mkfs -t vfat /dev/sdx1
mkfs.vfat /dev/sdx1
2.將bootloader燒入SD卡: 註意--不掛載
./sd_fusing.sh /dev/sdx 執行後將SD卡插入開發板,在minicom中啟動
註:分區是對整個設備進行操作(sdx)而不是(sdx1)
二. 將Linux/Andriod系統燒入SD卡,進而固化EMMC中運行
1.格式化SD卡(不掛載): fdisk /dev/sdx -d 刪除 -n 新建分區 -w 保存退出 6~default sdx1
兩種格式化方式: mkfs -t vfat /dev/sdx1
mkfs.vfat /dev/sdx1
2.將Linux/Andriod系統燒入SD卡(不掛載):
./sd_write /dev/sdb ../images/Superboot.bin
3. 將image複製到sdx1中(先掛載):
mount /dev/sdx1 /media
cp images /media/*
三. Linux內核的燒寫
minicom常用命令:
printenv :列印環境變數
bootargs :啟動參數,決定內核啟動後根文件系統如何掛載
bootcmd : 用於實現內核的自啟動
help,bootm,mmc list,mmcinfo 0,ext2format,ext2load
註:從SD卡啟動
1.分區: fdisk -p 1 列印分區信息
fdisk -c 1 320 2057 520 (能且只能)分成四個分區 (剩餘空間自動為一份分區)
2.格式化: fatformat mmc 1:1
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4
3.燒寫bootloader到EMMC:
emmc open 1 --打開emmc
mmc write 1 40000000 0 10
mmc write 1 40000000 10 20 這些邏輯塊數都為16進位數
mmc write 1 40000000 30 290
mmc write 1 40000000 2c0 ba
emmc close 1 --關閉emmc
註: 以EMMC方式重啟
4. 燒寫linu內核和根文件系統到EMMC的第二 三分區:
第一步: 使開發板掛載到nfs虛擬文件系統
mkdir /nfsroot
添加 /nfsroot *(rm,sync,no_root_squash) 到 文件 /etc/exports
重啟nfs服務 service nfs restart
拷貝inittab文件 cp inittab /nfsroot/etc
設置啟動參數 set bootargs "root=/dev/nfs nfsroot=192.168.0.222:/nfsroot ip=192.168.0.20
lcd=S70 console=ttySAC0,115200 init=linuxrc"
保存 save
註意: Ctrl + A(鬆開) W :打開自動換行(由於變數太多,必須自動換行)
第二步:利用虛擬文件系統拷貝內核和根文件系統
將內核拷貝到EMMC的第二個分區
掛載 mount /dev/mmcblk0p2 /mnt
拷貝內核 cp zImage /mnt (在pc機中先將zImage拷貝到共用目錄nfsroot中)
卸載EMMC第二分區 umount /mnt
將根文件系統拷貝到EMMC的第三個分區
掛載 mount /dev/mmcblk0p3 /mnt
拷貝根文件系統
PC端: cp root_qt*.tar.gz /nfsroot (在pc機中先將root_qt*拷貝到共用目錄nfsroot中)
minicom開發板: tar -zxvf root_qt*.tar.gz -C /mnt (後將所有文件拷到/mnt目錄下)
拷貝inittab--根文件系統缺失部分
PC端: cp inittab /nfsroot/
minicom開發板:cp /inittab /mnt/etc (或 cp /etc/inittab /mnt/etc )
卸載EMMC第三分區 umount /mnt
註:之後手動複位,從EMMC啟動,下一步在minicom中設置環境變數
5.設置變數:
設置內核自啟動 set bootcmd "ext2load mmc 0:2 40008000 zImage;bootm 40008000"
設置啟動參數 set bootargs "root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc lcd=S70"
保存 save
註:EMMC有四個分區 ,其中: 第一個分區 bootloader
第二個分區 內核
第三個分區 根文件系統
2016-01-19