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 //清除以往的配置信息完成後,在目錄下生成MLO文件和u-boot.bin文件
make omap3_beagle_config //針對bb進行編譯配置
make //編譯生成MLO和u-boot.bin文件
訂閱:
文章 (Atom)