Social Icons

twitterfacebookgoogle plusrss feedemail

4/13/2013

[Beagleboard] 5.建立啟動用的TF卡

沒有留言:

Beagleboard 可以通過多種方式啟動Linux系統,如通過Nandflash、TF卡或者通過NFS網絡啟動。本人選擇採用TF卡啟動的方式。因此,需要準備一張空白TF卡,在其之上建立雙分區:一個FAT32分區和一個EXT3(或EXT4)分區。FAT32分區用於存放bootloader、Image文件和一些boot參數相關的文件。EXT3分區用於存放Linux的Root filesystem。

具體步驟如下:
    1、TF卡分區
        將TF通過讀卡器連接到Linux開發環境上,找到掛載的設備,如本人系統上掛載為/dev/sdb。按照http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 教程完成分區。
        完成分區後,重新掛載TF卡。在/media下可以看到FAT32和EXT3兩個分區目錄。

[Beagleboard] 4.建立Linux rootfs

沒有留言:

rootfs的是系統非常重要的一部分。
Linux kernel 啟動後,必須掛載rootfs,然後從rootfs中加載其它所需的內核模塊,啟動各種系統服務。rootfs有問題的話,啟動過程會出現各種詭異的錯誤。
這邊使用ARM Fedora 12的rootfs上成功完成了整個啟動過程。

下面是基於該rootfs的建立過程:
    1、下載ARM Fedora 12 rootfs
        下載地址:http://ftp.arm.linux.org.uk/pub/armlinux/fedora/rootfs/rootfs-f12.tar.bz2
        下載其中的rootfs-f12.tar.bz2壓縮包
          bzip2 -d rootfs-f12.tar.bz2          tar xvf rootfs-f12.tar 
         解壓至rootfs-f12目錄下


[Beagleboard] 3.創建Linux kernel uImage

沒有留言:

Linux發行版已融入對OMAP處理器和bb的支持,因此,可以直接下載最新的Linux發行版內核源碼,自己編譯生成內核鏡像。

具體步驟:
(1)從www.kernel.org下載Linux kernel
    這邊我是下載2.6.39版內核源碼至omap_linux目錄下
    wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2
    下載完後解壓縮至omap_linux資料夾中

(2)編譯生成uImage文件
    1、修改Makefile文件中以下兩行
        ARCH            ?= arm
        CROSS_COMPILE   ?= arm-linux-

[Beagleboard] 2.創建bootloader 和 boot.scr

沒有留言:

TI OMAP系列處理器上的bootloader通常是指x-loader(MLO)和u-boot(u-boot.bin),兩者用於Linux內核啟動前的配置、部分硬件系統配置以及解壓縮並加載內核Image文件並引導內核啟動。

u-boot在執行過程中會讀取boot.scr文件中的內核啟動參數,傳給即將引導啟動的Linux內核。
具體步驟:
(1)bootloader下載和編譯
    1、執行git clone git://git.denx.de/u-boot.git target_directory
         從DENX官方下載最新的u-boot至target_directory目錄。

    2、編譯u-boot,生成MLO文件u-boot.bin文件

        打開Makefile文件,修改CROSS_COMPILE ?= arm-linux-
        依順序執行
            make mrproper   //清除以往的配置信息
            make omap3_beagle_config  //針對bb進行編譯配置
            make //編譯生成MLO和u-boot.bin文件
        完成後,在目錄下生成MLO文件和u-boot.bin文件