2020年5月28日 星期四

SD Card 整合

SD Card 整合 #1
2020/05/29



整合至 sdcard.img #1

截至目前為止,我們已經完成了底下事項:
1. rootfs -> OK
2. linux kernel -> OK
3. boot loader (u-boot) -> OK
4. SD card image -> OK

現在要開始進行整合的步驟:
1+2+3 -> SD card -> qemu


1. 複製 Linux 核心至 /mnt/sdcard1

~eecs/virtualarm/kernel/linux-3.16.81/arch/arm/boot# cp uImage /mnt/sdcard1

2. 複製 u-boot 檔案至 /mnt/sdcard1

u-boot
u-boot.bin

~eecs/virtualarm/bootloader/u-boot-2016.09# cp u-boot /mnt/sdcard1
~eecs/virtualarm/bootloader/u-boot-2016.09# cp u-boot.bin /mnt/sdcard1

3. 複製 rootfs 目錄至 /mnt/sdcard2

~eecs/virtualarm# rsync -av rootfs/ /mnt/sdcard2

作完之後,我們先解除掛載,然後用 qemu 來開機。


4. 測試開機

~/virtualarm$ ~/virtualarm$ qemu-system-arm -machine vexpress-a9 -m 256 -nographic -kernel u-boot -drive file=../../sd_test.img,if=sd,format=raw,index=0


U-Boot 2016.09 (May 22 2020 - 09:58:23 +0800)

DRAM:  256 MiB
WARNING: Caches not enabled
Flash: 128 MiB
MMC:   MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   smc911x-0
Hit any key to stop autoboot:  0
=> fatload mmc 0:1 0x60000000 uimage

=> setenv bootargs console=ttyAMA0,38400n8 root=/dev/mmcblk0p2

=> bootm 0x60000000

此時即可開機,並以 root 或是 leenix 帳號登錄。

5. 與 br10 連接在一起

請將底下內容另存為  runsd.sh,再來執行即可。

MACHINE=vexpress-a9
#SD_IMAGE=sdcard.img
SD_IMAGE=sd_test.img
#SD_IMAGE=sd_512M.img

#FLASH_IMG=flash.img

KERNEL_VERSION=3.16.81
UBOOT_VERSION=2016.09

MAC="52:54:12:34:00:A0"
BRIDGE=br10


MEMORY=256
#MEMORY=1024

qemu-system-arm -machine $MACHINE -m $MEMORY \
  -serial stdio \
  -drive file=./$SD_IMAGE,if=sd,format=raw,index=0 \
  -kernel ./bootloader/u-boot-$UBOOT_VERSION/u-boot \
  -net nic,macaddr=$MAC -net bridge,br=$BRIDGE




沒有留言:

張貼留言