第1步 Linux配置菜单及内核移植

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux配置菜单及内核移植

每次修改与增加内容者,需在文档修订记录中进行记录

一、说明

1.硬件平台

SEP0718 eASIC开发板

2.Linux BSP

0718-android-kernel-2.6.29

linux-v3.4(SEP4020)

二、配置菜单

进入BSP顶层目录后执行make menuconfig(调用arch/arm/Kconfig文件),即执行BSP的内核配置。

1.配置菜单选项介绍(SEP0718)

主菜单"Linux Kernel Configuration"

⏹Kconfig中指定:mainmenu "Linux Kernel Configuration"

General setup

⏹Kconfig中source "init/Kconfig":menu "General setup"

⏹系统常规设置(略)

⏹重点配置选项

●RCU Subsystem:Classic RCU

●(17) Kernel log buffer size (16 => 64KB, 17 => 128KB)

●(0) Default panic timeout

●Choose SLAB allocator (SLUB (Unqueued Allocator))

Enable the block layer

⏹init/Kconfig中source "block/Kconfig":"Enable the block layer"

⏹块设备层设置

⏹重要配置选项

●Default I/O scheduler (No-op)

System Type

⏹Kconfig中:menu "System Type"

⏹CPU类型及特性(略)

⏹重要配置选项(在内核移植部分介绍为何会出现这些选项)

●ARM system type (SEP0718)

●SEP0718 Implementations(EASIC0718)

●Support ARM V6K processor extensions

●Support Thumb user binaries

Kernel Features

⏹Kconfig中:menu "Kernel Features"

⏹重要配置选项

●Memory split (3G/1G user/kernel split)

●(4096) Low address space to protect from user allocation

Boot options

⏹Kconfig中:menu "Boot options"

⏹重要配置选项

●(0x0) Compressed ROM boot loader base address

●(0x0) Compressed ROM boot loader BSS address

●(root=/dev/mtdblock1 rootfstype=yaffs mem=64mb

console=ttyS1,115200 init=/init)

Device Drivers

⏹Kconfig中:menu "Device Drivers"

⏹重要配置选项

●Input device support(Horizontal/V ertical)

●Character devices(Serial drivers)

Kernel hacking

⏹Kconfig中:source "arch/arm/Kconfig.debug":menu "Kernel

hacking"

⏹重要配置选项

●(1024) Warn for stack frames larger than (needs gcc 4.4)

Load an Alternate Configuration File

Save an Alternate Configuration File

⏹内核配置后,自动生成.config文件,顶层Makefile间接包含.config

文件并根据其定义的变量编译内核。

2.配置菜单中的参数(SEP4020)

Linux-V3.4/arch/arm/mm/Kconfig

ARCH_SEP4020选中后,默认选择CPU_ARM720T

Linux-V3.4/drivers/char/Kconfig

ARCH_SEP4020选中后,SEP4020_CHAR有效。因此,当前目录下的makefile中的obj-$(CONFIG_SEP4020_CHAR) += sep4020_char/

执行

Linux-V3.4/arch/arm/mach-4020/Kconfig:

ARCH_SEP4020选中,才会出现此菜单项

GFD4020选中后,ARCH_4020有效。因此,当前目录下的makefile 中的obj-$(CONFIG_ARCH_4020) +=4020.o执行

三、内核移植

下载linux-2.6.28.5源码包

将0718-android-kernel-2.6.29移植至linux-2.6.28.5

1.修改linux-

2.6.28.5/makefile文件,指定编译平台及编译器

ARCH ?= arm

CROSS_COMPILE ?= /usr/local/arm/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-

2.将0718-android-kernel-2.6.29/arch/arm/mach-sep0718复制到

linux-2.6.28.5相应目录下

相关文档
最新文档