Linux3 2 81核心移植 2440

2021-07-29 02:28:16 字數 2654 閱讀 2924

一、

核心基本配置

1、  修改頂層的makefile

arch?=(subarch)

corss_compile?=

修改為arch=arm

cross_compile=arm-linux-

2、  修改arch/arm/mach-s3c2440/mach-smdk2440.c檔案的時鐘頻率

將s3c24xx_init_clock(16934400)

改為s3c24xx_init_clock(12000000)

3、  執行make menuconfig配置系統型別(system-type)

system type 

arm system type (arm ltd.versatile family)

(x) samsung s3c2410, s3c2412, s3c2413, s3c2416, s3c2440, s3c2442

s3c2440and s3c2442 machines

[*]smdk2440

[*]smdk2440 with s3c2440 cpu module (new) 

二、nand flash

移植(mtd

分割槽)

1、  修改核心原始碼「arch/arm/plat-s3c24xx/common-smdk.c」

檔案中的「smdk_default_nand_part」的結構體

staticstruct mtd_partition smdk_default_nand_part = {

[0] = {

.name       ="bootloader",

.size =sz_1m,

.offset      = 0,

[1] = {

.name       ="params",

.size =0x00020000,

[2] = {

.name       ="kernel",

.size =sz_4m,

[3] = {

.name       ="root",

.size =mtdpart_siz_full,

2、  執行make menuconfig配置驅動devicedrivers

device drivers

<*> memory technology device (mtd)support

<*>   nand device support

<*>   nand flash support for samsung s3c socs 

<*>   support for generic platform nand driver

<*>   caching block device access to mtd devices

<*>   direct char device access to mtd devices

三、串列埠驅動配置

1、  執行make menuconfig

device driversà

characterdevices

serialdrivers

<*>samsung soc serial support 

[*]support for console on samsung soc serial port 

<*>samsung s3c2440/s3c2442/s3c2416 serial port support (new)

四、增加對

yaffs

的支援

2、  給核心打補丁,進入yaffs2目錄,執行

./patch-ker.sh c m /work/system/linux-3.2.81

3、  進入核心目錄,執行make menuconfig

file systemsà

[*]miscellaneous filesystemsà

<*>   yaffs2 file system support

五、支援

nfs啟動檔案系統

file systems

network file systems

<*>nfs file system support   //要編譯進核心,不能編譯成模組

[*]root file system on nfs

networking

[*]networking support 

networking options

[*]ip:kernel level autoconfiguration 

六、儲存退出,執行

make uimage

在arch/arm/boot中生成uimage,但是該uimage的載入位址和入口位址一樣,u-boot無法啟動,所以執行

mkimage -n  『linux-3.2.81』 -a arm -o linux -t kernel -c none -a0x30008000 -e 0x30008040 -d zimage uimage

生成的uimage即可使用

本教程使用

arm-linux-gcc-4.3.2

linux核心移植

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 f...

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 此時將預設...