歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux內核 >> Linux內核編譯與裁剪(ARM版)

Linux內核編譯與裁剪(ARM版)

日期:2017/3/1 10:17:07   编辑:Linux內核

Linux系統:Ubuntu 10.10

1、首先建立arm-linux-gcc交叉編譯環境:

下載arm-linux-gcc-3.4.1.tar.bz2 (見 http://www.linuxidc.com/Linux/2010-07/26990.htm )

復制,解壓

#cd /

復制arm-linux-gcc-3.4.1.tar.bz2到當根目錄

#tar jxvf arm-linux-gcc-3.4.1.tar.bz2

這樣就會產生一個/usr/local/arm目錄了。

2、到www.kernel.org上下載linux-2.6.30.4.tar.bz2源碼包,並在主目錄解壓縮。

檢查頂級Makefile,找到ARCH和CROSS_COMPILE的定義,改為:

ARCH?= arm

CROSS_COMPILE?= arm-linux-

然後需要修改PATH:

在主目錄的.profile文件的最後加上export PATH=$PATH:/usr/local/arm/3.4.1/bin/

3、指定啟動時初始化

kernel 啟動時依據我們對分區的設置進行初始配置

修改arch/arm/mach­s3c2410/mach­smdk2410.c 文件

vi arch/arm/mach­s3c2410/mach­smdk2410.c

修改smdk2410_devices[].指明初始化時包括我們在前面所設置的flash 分區信息

static struct platform_device *smdk2410_devices[] __initdata ={

&s3c_device_usb,

&s3c_device_lcd,

&s3c_device_wdt,

&s3c_device_i2c,

&s3c_device_iis,

/* 添加如下語句即可*/

&s3c_device_nand,

};

保存,退出。

1.4 配置內核

支持啟動時掛載devfs

為了我們的內核支持devfs 以及在啟動時並在/sbin/init 運行之前能自動掛載/dev為 devfs 文件系統, 修改

fs/Kconfig 文件

vi fs/Kconfig

找到menu "Pseudo filesystems"

添加如下語句:

config DEVFS_FS

bool "/dev file system support (OBSOLETE)"

default y

config DEVFS_MOUNT

bool "Automatically mount at boot"

default y

depends on DEVFS_FS

Copyright © Linux教程網 All Rights Reserved