定制l i n u x内核(l i n u x2.6.32)定制 Linux 内核(linux-2.6.32)Linux 内核看似佷庞大,其实初学者以及致力于应用开发的用户,不必学习之初就一头钻进浩如烟海的内核代码中问剑;但熟练配置内核的一些常用选项,并编译出来下载到开发板中运行试用,是你迈向 Linux 系统顶峰的必行之路。
一、平台:操作系统: ubuntu-9.04交叉编译器:arm-linux-gcc-4.4.3.tar.gz配置内核:linux-2.6.32.2-mini2440-20100921.tar.gz二、使用缺省配置文件配置和编译内核:执行以下命令来使用缺省配置文件 config_t35# cp config_mini2440_t35 .config然后执行“make menuconfig”出现配置内核界面:2.1 配置 CPU 平台选项在主菜单里面,选择 System Type,按回车进入可以看到系统大部分使用了标注了 S3C2410 的选项,这是因为 S3C2410 和S3C2440的很多寄存器地址等地址和设置是完全相同的。
如果您要选择板级选项,使用上下方向控制键一直找到 S3C2440 机器平台选项,可以进入 S3C2400 Machines 子菜单可以看到里面有很多常见的使用 S3C2440 的目标板平台选项,在此选“FriendlyARM Mini2440 development board”,如图它们分别对应于 arch/arm/mach-s3c2440/mach-* 开头的文件 , 在此对应于mach-mini2440.c。
另外,在这个文件中,还会用到一个机器码 MACH_TYPE,该机器码的定义文件为 arch/arm/tools/mach-types,我们开发板的机器码为 1999,它还对应于 vivi 源代码中 include/platform/smdk2440.h 文件的 MACH_TYPE2.2 配置各个尺寸的 LCD 驱动以及背光控制支持在主菜单里面,选择 Device Drivers,按回车进入,并找到如图选项,按回车进入:找到如图选项,再按回车进入出现类似如图界面,并找到如图选项,选中如图 Backlight(背光控制)再选中 LCD select , 按回车进入 , 如图 , 可以看到我们加载的默认配置config_mini2440_t35 在此选择统宝3.5” LCD(3.5 inch 240x320 Toppoly LCD),你还可以根据需要改为其他型号的 LCD选择完毕,一直按照下方的提示返回到 Device Drivers 配置菜单。
2.3 配置触摸屏注意:如果你选择了 VGA1024x768 显示输出模块,是不需要配置此项的。
在 Device Drivers 菜单里面,选择 Input device support,按回车进入找到并选择 Touchscreens 选项,按回车进入,如图:然后如图选择选择完毕,按<Exit>一直返回 Device Drivers 菜单。
2.4 配置 USB 鼠标和键盘在 Device Drivers 菜单里面,找到如图选项,并选择进入选择如图“*”号所指示的选项这样就选择配置了 USB 键盘和鼠标,然后选择<Exit>返回 Deice Drivers 菜单。
2.5 如配置优盘的支持因为优盘用到了 SCSI 命令,所以我们先增加 SCSI 支持。
在 Device Drivers 菜单里面,选择 SCSI device support,按回车进入在出现的次菜单中,选择如图返回 Device Drivers 菜单,再选择 USB support,按回车进入 USB support 菜单,找到并选中<*> USB Mass Storage support然后选择<Exit>返回 Device Drivers 菜单2.6 配置万能驱动 USB 摄像头在 Device Drivers 菜单里面,选择 Multimedia devices,回车进入选择如图“*”号选项,并选择 Video capture adapters 进入出现如图菜单,找到如图选项并进入出现如图菜单,选择如图“*”号选项,再选 GSPCA based webcams 进入GSPCA 是一个法国程序员在业余时间制作的一个万能 USB 摄像头驱动程序, 在此你可以选择所有类型 USB 摄像头的支持,如图需要注意的是:虽然这里选择了众多型号的摄像头驱动,但每个型号的 Video 输出格式并不完全相同,这需要在高层应用中根据实际情况分别做处理,才能正常使用这些驱动。
一直选择<Exit>返回 Device Drivers 菜单,再选择<Exit>返回到主菜单。
2.7 配置 CMOS 摄像头驱动本开发板配用的 CMOS 摄像头模块 CAM130,其内部使用的 OV9650 芯片,因此我们需要为此配置驱动程序,如下步骤:在 Device Drivers 菜单里面,选择 Multimedia devices,回车进入选择如图“*”号选项,并选择 Video capture adapters 进入,找到 OV9650 芯片驱动并选中它,如图:注意:我们为 CAM130 模块设计的驱动程序,既不属于 VL4 体系,也不属于V4L2体系,它就是一个简单的字符设备,这样做是为了方便移植。
2.8 配置网卡驱动要配置网卡驱动,首先要配置网络协议支持在主菜单中,选择 Netwoking support,回车进入出现如图子菜单,如图选择 Networking options 并进入一般我们选择 TCP/IP 协议就够了,但推荐使用我们缺省配置的几个选项,如图选择完毕,一直退回到主菜单,并选择进入 Device Drivers 菜单。
找到 Network device support,选择进入找到并进入 Ethernet (10 or 100Mbit) 选项选中:<*> Generic Media Independent Interface device support <*> DM9000 support选择<Exit>一直返回到 Device Drivers 菜单。
2.9 配置 USB 无线网卡驱动本开发板采用 Linux-2.6.32.2 内核,它已经包含了多种型号的 USB 无线网卡驱动,在我们提供的缺省配置中,也已经包含了大部分常见的网卡型号,如 TP-Link 系列,VIA 系列等,下面是它的驱动配置说明。
在主菜单中,选择 Netwoking support,回车进入出现如图子菜单,如图选择 Wireless 并进入开始配置无线网络协议选择如图*各项配置:退回到内核配置主菜单,选择 Device Drivers 并进入,开始配置无线网卡驱动,如图进入网络设备子菜单,找到如图无线网络设备子项,并进入再选择 Wireless LAN(IEEE 802.11)子项,并进入可以看到已经配置了以芯片厂商为分类方式的常见各种 USB 无需网卡类新,如图为Ralink 公司芯片方案的 USB 无线网卡驱动支持选择<Exit>一直返回到 Device Drivers 菜单。
2.10 配置音频驱动在 Device Drivers 菜单中,选择 Sound card supprt,并进入再作如图选择,并进入再作如图选择,并进入在出现的菜单中,选择 ALSA 接口支持(Advanced Linux Sound Architecture),并进入选择 OSS Mixer API 以增加老式的 OSS API 支持,如图选择 ALSA for Soc audio support,并进入选择 ALSA 接口驱动支持,如图选择完毕,一直按<Exit>返回到 Device Drivers 菜单2.11 配置 SD/MMC 卡驱动在 Device Drivers 菜单中,选择 SD/MMC 设备选项并按回车进入选择如图<*>各项,如图,这样就配置好了 MMC/SD 卡驱动,它可以支持高速大容量 SD 卡,最大可达到 32G。
按<Exit>返回到 Device Drivers 菜单。
2.12 配置看门狗驱动支持在 Device Drivers 菜单中,选择 Watchdog 选项并按回车进入选中如图所示看门狗驱动支持按<Exit>返回到 Device Drivers 菜单。
2.13 配置 LED 驱动在 Device Drivers 菜单中,选择进入 Character devices - - ->,找到并选中 LEDs 驱动支持,如图。
2.14 配置按键驱动在 Device Drivers 菜单中,选择进入 Character devices - - ->,找到并选中Buttons 驱动支持,如图。
2.15 配置 PWM 控制蜂鸣器驱动依然在 Character devices 菜单中,找到并选中buzzer 选项,如图2.16 配置 AD 转换驱动依然在 Character devices 菜单中,找到并选中 ADC 选项,如图2.17 配置串口驱动依然在 Character devices 菜单中,选择进入 Serial drivers - - ->选择如图选项,来配置串口驱动2.18 如何配置 RTC 实时时钟驱动依然在 Device Drivers 菜单中,选择 Real Time Clock 选项并进入如图选择 2440 系统的 RTC 驱动支持返回到主菜单。
2.19 配置 I2C-EEPROM 驱动支持在 Device Drivers 菜单中,找到 I2C support 项,选择进入在菜单中再选择如图,并进入 I2C Hardware Bus support 子项再选择 S3C2410 I2C Driver 即可,如图2.20 配置 yaff2s 文件系统的支持要使用 yaffs2 文件系统,需要先配置 nand flash 驱动支持,在 Device drivers 菜单中选择 MTD 选项如图,并按回车进入注意子菜单中<*>号的选项,不要取消找到 NAND Device Support 选项并进入如图选择 Nand Flash 驱动支持返回到内核配置主菜单,并找到 File systems 选项进入找到如图选项 Miscellaneous filesystems 并进入找到 YAFFS2 支持选项,如图选择然后<Exit>返回到 File systems 菜单进行下一步2.21 配置 EXT2/VFAT/ NFS 等文件系统在 File System 菜单中,如图选择 Network File Systems 文件系统的支持并进入。