编译Linux内核(三)

来源:互联网 发布:认识 制作 优化石真语 编辑:程序博客网 时间:2024/04/26 11:08

1.   编译Linux内核

a.下载内核源码

       去Linux官网下载所需版本的内核源码linux-2.6.32.2.tar.gz

b. 解压内核源码

#tar zxvf linux-2.6.32.2.tar.gz

c. Linux内核目录结构

#tree -L 1

.

|-- COPYING

|-- CREDITS

|-- Documentation

|-- Kbuild

|-- MAINTAINERS

|-- Makefile

|-- Module.symvers

|-- README

|-- REPORTING-BUGS

|-- System.map

|-- arch             #板级支持依赖(开发板、处理器架构)

|-- block           #块设备驱动

|-- crypto

|-- drivers         #设备驱动

|-- firmware

|-- fs                 #文件系统

|-- include        #内核头文件目录之一

|-- init               #内核初始化代码

|-- ipc               #进程通信代码

|-- kernel          #内核核心代码

|-- lib                #内核库函数

|-- mm              #内存管理代码

|-- modules.order

|-- net               #网络协议代码

|-- samples

|-- scripts

|-- security

|-- sound          #音频设备驱动代码

|-- tools

|-- usr

|-- virt

|-- vmlinux

`-- vmlinux.o

d. 修改Micro440板级支持配置文件

       参考标准的mach-smdk2440.c进行修改

1)使用smdk2440启动配置文件替换mini2440

       #cd  arch/arm/mach-s3c2440/

#cp  mach-smdk2440.c  mach-mini2440.c

2)修改机器名称

       MACHINE_START(MINI2440, "Micro2440 developmentboard")

1)将系统时钟修改为系统时钟(12M)

static void __init smdk2440_map_io(void)

{

   s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

    s3c24xx_init_clocks(12000000);

              s3c24xx_init_uarts(smdk2440_uartcfgs,

ARRAY_SIZE(smdk2440_uartcfgs));

}               

2)删除smdk_machine_init()

static void __init smdk2440_machine_init(void)

{

   s3c24xx_fb_set_platdata(&smdk2440_fb_info);

   s3c_i2c0_set_platdata(NULL);

   platform_add_devices(smdk2440_devices,

ARRAY_SIZE(smdk2440_devices));

    smdk_machine_init();

}

e. 编译内核

1)修改内核根目录的Makefile文件

ARCH   = arm

CROSS_COMPILE   = arm-linux-

  注:末尾直接回车,不能留有空格

2)导入原来的mini2440配置

#make  mini2440_defconfig

:.config是Linux内核默认配置文件,将mini2440配置文件拷贝为.confog

 

3)编译

#make  uImage

3)出现错误

                1st.             错误提示:找不到mkimage–u-boot images will not be built

解决方法:将u-boot/tools下的mkimage复制到交叉编译器的bin目录下

            2nd.              

             3rd.             .

0 0
原创粉丝点击