我們在使用 u-boot 時必須要手動輸入底下資訊才能成功開機:
setenv "root=/dev/mmcblk0p2 console=ttyAMA0"
fatload mmc 0:1 0x60008000 uimage
bootm 0x60008000
這主要原因是由於 u-boot 開機環境並沒有設定好,因此我們要來客製化 u-boot
原始碼,讓它可以照我們的要求來開機。請編輯:
u-boot-2016.09/include/configs/vexpress_common.h
這個檔案,修改以下片段:
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_PLATFORM_ENV_SETTINGS \
BOOTENV \
"console=ttyAMA0,38400n8\0" \
"dram=1024M\0" \
"root=/dev/sda1 rw\0" \
"mtd=armflash:1M@0x800000(uboot),7M@0x1000000(kernel)," \
"24M@0x2000000(initrd)\0" \
"flashargs=setenv bootargs root=${root} console=${console} " \
"mem=${dram} mtdparts=${mtd} mmci.fmax=190000 " \
"devtmpfs.mount=0 vmalloc=256M\0" \
"bootflash=run flashargs; " \
"cp ${ramdisk_addr} ${ramdisk_addr_r} ${maxramdisk}; " \
"bootm ${kernel_addr} ${ramdisk_addr_r}\0"
改為:
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_PLATFORM_ENV_SETTINGS \
BOOTENV \
"console=ttyAMA0,38400n8\0" \
"dram=1024M\0" \
"root=/dev/mmcblk0p2 rw\0" \
"flashargs=setenv bootargs root=${root} console=${console}\0" \
"bootflash=run flashargs; " \
"fatload mmc 0:1 0x60008000 uimage; " \
"bootm 0x60008000\0"
然後重新編譯 u-boot,再把 u-boot u-boot.bin 複製到 /mnt/sdcard1 中。
之後請重新開機,看看這次還能不能直接開機,無需手動介入。
你好,請問您有mail嗎
回覆刪除