1.基本開發環境
u-boot版本:u-boot-2012.04.01 (假設u-boot已經移植好)
linux平台:虛擬機器下ubuntu 14.04
交叉編譯工具:gcc-4.4.3
arm開發板:mini2440(cpu:s3c2440 ,sdram:64m,nor flash:2m,nand flash:256m,網絡卡:dm9000ep)
3.移植
一般原始碼移植首先會在最頂層的makefile中指定處理器平台和交叉編譯工具。用vim工具開啟,修改:arch ?= arm 和cross_compile ?= arm-linux-這兩行。
由於mini2440開發板在該核心版本中已經有預設配置檔案(mini2440_defconfig),選用預設配置。基本功能的移植,改動較小。
根據u-boot設定分割槽,修改nand flash 分割槽(arch/arm/mach-s3c24xx/mach-mini2440.c),比如我的分割槽結構
static struct mtd_partition mini2440_default_nand_part __initdata = ,
[1] = ,
[2] = ,
[3] = ,
};
然後命令列編譯,生成uimage
#make mini2440_defconfig
#make uimage
tftp 30000000 uimage
nand erase.part kernel
nand write 30000000 kernel
重新啟動開發板,linux啟動成功!
注意:u-boot傳入的machi和linux的machid要匹配。不然在啟動過程中會卡住( mach_mini2440 mini2440 1999)。
Linux核心移植
實驗步驟 1 準備工作 2 修改頂層makefile 3 修改falsh 分割槽 4 配置編譯核心 下面以linux2.6.30.4核心移植到gec2440為例 cd linux 2.6.30.4 解壓後會在當前目錄下生成乙個linux 2.6.30.4 的核心原始碼目錄 安裝交叉工具鏈,然後修改環...
linux3 4 2核心移植詳解(二) 移植核心
解壓進入核心頂層目錄 tar xjf linux 3.4.2.tar.bz2 修改頂層makeflie arch arm cross compile arm linux 執行make s3c2410 defconfig會出現 configuration written to config 此時將預設...
linux 核心移植(基本框架)
一 獲得linux原始碼 二 解壓系統原始碼 解壓命令 gzip v rootfile 壓縮乙個檔案rootfile gunzip rootfile.gz 解壓縮乙個檔案 tar命令 既可以壓縮檔案也可以解壓縮檔案,決定於tar命令後面所跟引數 a將檔案新增到現有的tar包 c表示建立新的tar包 ...