BeagleBoneBlack(Chipsee)更新emmc

1.使用Angstrom BBB 出廠使用angstrom,包括uboot/kernel以及文件系統,很顯然是不支持Chipsee擴展板的,那麼若是想使用angstrom支持擴展板,則參考: http://derekmolloy.ie/beaglebone/php

更新emmc: http://www.crashcourse.ca/wiki/index.php/BBB_software_update_processlinux

2.TI的eZsdk指導 http://www.elinux.org/Beagleboard:3.2_SDK_On_BeagleBone_Blackshell

http://processors.wiki.ti.com/index.php/Sitara_Linux_Software_Developer%E2%80%99s_Guide#Start_your_Linux_Development 2.1 eZsdk 文件系統 http://processors.wiki.ti.com/index.php/EZSDK_Using_data_on_SD_and_filesystem_on_NAND#Creating_the_file_systemide

  1. eZsdk增長emmc支持   Chipsee提供的BSP是基於TI提供的eZSDK5.7版本,並且沒有對BBB的emmc進行支持,若是想從BBB的emmc啓動,則須要在內核中增長emmc支持。 3.1 內核emmc支持   在Chipsee提供的linux3.2基礎上增長對BBB上emmc的支持(eZSDK5.7到eZSDK6.0的區別) 編輯board-am335xevm.c,增長mmc1_emmc_init初始化:

在此輸入圖片描述 而後在板卡配置結構體中增長mmc1_emmc_init調用: 在此輸入圖片描述 (上圖有誤:mmc1_emmc_init應該在mmc0_init以前)ui

從新編譯內核後從SD卡啓動,能夠看到: 在此輸入圖片描述 mmcblk1p2 mount失敗。 注意:code

  • mmc0: SD卡接口
  • mmc1: BBB板載emmc接口
  • mmcblk1p1:emmc fat分區
  • mmcblk1p2:emmc ext3分區

經過df -H 能夠看到mmcblk1p2文件系統是ext4,在內核編譯選項增長ext4支持: 編輯 .config文件,增長CONFIG_EXT4_FS=y,從新編譯內核。 在此輸入圖片描述接口

掛載成功:

在此輸入圖片描述

3.2 uboot emmc支持   圖片

1). Chipsee提供的uboot支持從emmc和sd卡啓動,如需從emmc啓動則須要對uEnv.txt稍做修改:

  將 fatload mmc 0 81000000 改成fatload mmc 1 81000000 2). eZsdk提供的uboot支持從emmc啓動的,只是沒法識別emmc中文件系統所在的ext4分區,而出廠的BBB默認安裝angstrom,而且文件系統被格式化成了ext4分區(eZsdk提供的creatSD.sh是將SD卡分爲fat和ext3分區)ip

BBB的emmc出廠默認帶angstrom系統分爲fat32和ext4,若是不想改動emmc分區則須要在Chipsee的uboot中增長對ext4支持: 在此輸入圖片描述get

3). 在uboot的am335x_evm.h頭文件中使能storage_emmc無關緊要,使能storage_emmc的目的是給fastboot使用。

4.更新emmc   將emmc中默認的angstrom更新爲eZsdk5.7,步驟:

    1. 從SD卡啓動(Chipsee預裝的、或者用Chipsee提供的mksdcard.sh製做的,可是uImage替換掉,支持emmc),進入shell
    1. 格式化emmc的ext4分區

  在shell窗口中執行:   

<!-- lang: shell -->
mkfs.ext3 -j -L 「rootfs」 /dev/mmcblk1p2

  重啓,重啓後/dev/mmcblk1p2會被掛載到 /media/mmcblk1p2

    1. 經過wget將eZsdk提供的rootfs.tar.gz(或者是Chipsee的)拷貝到本地:

  在shell窗口中執行:   

<!-- lang: shell -->
wget ftp://zr:zr@192.168.1.101/rootfs.tar.gz
    1. 將文件系統解壓到emmc的ext分區:

  

<!-- lang: shell -->
tar -zxvf rootfs.tar.gz -C /media/mmcblk1p2
    1. 將以前編譯好的MLO UBOOT以及kernel和uEnv.txt拷貝到 /media/mmcblk1p1中
    1. Chipsee提供的uEnv內容以下:

  

<!-- lang: shell -->
bootargs=console=ttyO1,115200n8 mem=512M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait rootdelay=1 init=/init ip=off consoleblank=0
<!-- lang: shell -->
bootcmd=mmc rescan ; fatload mmc 0 81000000 uImage ; bootm 81000000
<!-- lang: shell -->
uenvcmd=boot

  將 fatload mmc 0 81000000 改成fatload mmc 1 81000000便可

  • 7)這樣emmc更新完畢。
相關文章
相關標籤/搜索