Chinaunix首页 | 论坛 | 博客

分类: LINUX

2011-09-05 10:41:22

 

Linux内核很庞大,linux初学者以及致力于linux应用软件开发的技术人员,熟悉内核的好的开始就是对内核进行配置,得到符合自己需求的经过裁剪的内核,并将编译后的内核下载到开发板中运行使用。

本附录的内容是为想要对内核进行个性配置的人员准备的,不涉及到代码编写,学习linux不必一切从“零”开始,一切可从学会配置、编译、下载运行开始。

下面的操作均基于Unbuntu 10.10平台操作。

注意:本开发板所配最新内核版本为 1b-linux-bsp-309ad19。龙芯各系列开发板的硬件资源配置在本质上和 LS1B 是完全一致的,因此所用的软件和 LS1B 也完全一致,在以后的章节中,我们不再对其独立划分软件,这包括程序的名字、路径等。

我们公司主要基于 LS1B 做开发更新。

5-1 使用缺省配置文件配置和编译内核

为了方便用户编译内核,我们针对不同的开发板做了相应的内核配置文件,详见configs目录。

configs目录下可以使用ls命令来查看它们:

执行以下命令来使得我们选择的配置文件作为缺省的配置文件

#cp defconf.loongson2fsb.smallest ../.config

然后执行“make menuconfig”,出现配置内核界面:

因为使用的配置文件已经针对相应的开发板已配置好,所以我们不用做任何修改,在主菜单里选择退出,这样做是为了生成相应配置的头文件。

输入以下命令,开始编译内核:

#make 

编译结束后,会在1b-linux-bsp-309ad19目录下生成linux内核映像文件:vmlinux

可以使用相应的烧写工具烧写或直接把其下载到开发板测试。

5-2 各个驱动程序源代码位置

说明:解压内核源代码(linux-1b.tgz压缩文件)可以找到如下驱动。

GMAC网卡驱动

1b-linux-bsp-309ad19/drivers/net/sb2f_gmac/synopGMAC_network_interface.c

串口

1b-linux-bsp-309ad19/drivers/8250.c

实时时钟RTC驱动

1b-linux-bsp-309ad19/drivers/ rtc-gs2fsb.c

按键驱动

1b-linux-bsp-309ad19/drivers/input/keyboard/74LV165_button.c

触摸屏驱动

1b-linux-bsp-309ad19/drivers/i2c/chips/tsc2003.c

Ram文件系统源代码目录

USB 鼠标、键盘源代码

1b-linux-bsp-309ad19/drivers/usb/host/ehci-sb2f.cohci-sb2f.c

优盘支持驱动

1b-linux-bsp-309ad19/drivers/usb/storage

SD卡驱动源代码目录

1b-linux-bsp-309ad19/drivers/block/sb2fsd.csb2fsb_spi.c

Nand Flash 驱动

1b-linux-bsp-309ad19/drivers/mtd/nand/sb2f-nand.c

AC97音频驱动目录

1b-linux-bsp-309ad19/sound/oss/sb2f-ac97.c

LCD驱动

1b-linux-bsp-309ad19/drivers/video/ sb2f-fb.c

I2C-EEPROM 驱动

1b-linux-bsp-309ad19/drivers/i2c/

蜂鸣器驱动

1b-linux-bsp-309ad19/drivers/char/buzzer-bsp.c

看门狗驱动

1b-linux-bsp-309ad19/drivers/char/watchdog/gs2fsb_wdt.c

AD 转换驱动

1b-linux-bsp-309ad19/drivers/spi/mcp3201.c

PWM驱动

1b-linux-bsp-309ad19/drivers/char/ls1b-pwm.c

5-3 手工定制Linux内核

上面我们使用缺省文件配置和编译了内核,其实 Linux 内核的配置选项有很多,下面我们就常见的一些选项分别予以图解,帮助你尽快熟悉内核配置,以便定制自己需要的内核。

注意:为了方便你尽快熟悉各个内核配置选项,请务必按照前面介绍的方法先加载一个缺省的配置文件.config,否则下面的选项有可能是不会出现的。

运行 make menuconfig ,进入内核配置主菜单

5-3-1 配置CPU平台选项

在主菜单里面,选择 Machine Selection,按回车进入,然后选择System type选项进入:

在此可以看到对不同系列的板的支持的选项,使用下文箭头进行导航,选择Support for LST LS1B boards选项。

5-3-2 配置各个尺寸的 LCD 驱动以及背光控制支持

在主菜单里面,选择 Device Drivers,按回车进入,并找到如图选项,按回车进入:

找到如图选项,再按回车进入:

出现类似如图界面,并找到如图选项,选中如图 Backlight(背光控制)和其它用(*)号标注的选项后,选择Backlight选项并进入:

选择完毕,一直按照下方的提示返回到 Device Drivers 配置菜单。

5-3-3 配置触摸屏

在 Device Drivers 菜单里面,选择I2C support --->,按回车进入,按照下图进行选择后:

选择I2C Algorithms--->,按回车进入,按照下图进行选择:

返回上一层,选择I2C Hardware Bus support,按回车进入,按照下图选择:

返回上一层,选择Miscellaneous I2C Chip support --->,按回车进入,按照下图选择:

然后选择返回 Device Drivers 菜单。

5-3-4 配置 USB 鼠标和键盘

在 Device Drivers 菜单里面,找到如图选项,并选择进入:

选择如图“*”号所指示的选项:

在其弹出的下拉列表中选中如图“*”号所示的选项:

这样就选择配置了 USB 键盘和鼠标,然后选择返回 Deice Drivers 菜单。

5-3-5 如何配置优盘的支持

因为优盘用到了 SCSI 命令,所以我们先增加 SCSI 支持。

在 Device Drivers 菜单里面,选择 SCSI device support,按回车进入:

返回 Device Drivers 菜单,再选择 USB support,按回车进入 USB support 菜单找到并选中<*> USB Mass Storage support 。

然后选择返回 Device Drivers 菜单。

5-3-6 配置网卡驱动

要配置网卡驱动,首先要配置网络协议支持,在主菜单中,选择 Netwoking,回车进入并选中Networking support选项:

出现如图子菜单,如图选择 Networking options 并进入,一般我们选择 TCP/IP 协议就够了,但推荐使用我们缺省配置的几个选项,如图:

选择完毕,一直退回到主菜单,并选择进入 Device Drivers 菜单。找到 Network device support,选择进入:

找到并进入 Ethernet (10 or 100Mbit) 选项并选中:

<*> Generic Media Independent Interface device support

<*> Loongson ls1f GMAC support

选择一直返回到 Device Drivers 菜单。

5-3-7 配置音频驱动

在 Device Drivers 菜单中,选择 sound,并进入:

选择 Sound card supprt,并在下拉列表里选择Open Sound System并进入:

选择Open Sound System (DEPRECATED)并在下拉列表里选择 loongson sb2f soundcard,如图所示:

选择完毕,一直按返回到 Device Drivers 菜单。

5-3-8 配置SD卡驱动

在 Device Drivers 菜单中,选择 Block devices---> 设备选项并按回车进入:

在打开的Block devices 选项列表中选中loongson2f southbridge spi/gpio sdcard support,并选择sdcard access type (access sdcard with spi)项:

在进入后,选中access sdcard with spi

选择完毕,一直按返回到 Device Drivers --->菜单。

5-3-9 配置看门狗驱动支持

在 Device Drivers 菜单中,选择 Character devices---> 选项并按回车进入:

接着在打开的选项中选中Watchdog Cards选项并进入:

先选中Watchdog Timer Support选项,再选中如图所示看门狗驱动支持:

返回到 Device Drivers 菜单。

5-3-10 配置按键驱动

在 Device Drivers 菜单中,选择进入 Input device support --->,找到并选中 Keyboards 驱动支持,如图。

在打开的选项中选中ls1b bsp of 74LV165选项。

返回到 Device Drivers 菜单。

5-3-11 配置蜂鸣器驱动

依然在 Character devices 菜单中,找到并选中 ls1b bsp buzzer 选项,如图:

5-3-12 配置AD转换驱动

在 Device Drivers 菜单中,选择进入 SPI support --->,并按下图所示选中各个选项:

5-3-13 配置RTC驱动

依然在 Device Drivers 菜单中,选择 Real Time Clock 选项并进入,选中RTC class后在其下拉列表中,选中SOC GS2FSB选项。

5-3-14 配置I2C-EEPROM驱动

在 Device Drivers 菜单里面,选择I2C support --->,按回车进入,按照下图进行选择后:

再选择I2C Hardware Bus support,按回车进入,按照下图选择:

然后选择返回 Device Drivers 菜单。

5-3-15 配置PWM驱动

在 Device Drivers 菜单里面,选择Character devices --->,按回车进入,按照下图进行选择后。

5-3-16 配置串口驱动

依然在 Character devices 菜单中,选择进入 Serial drivers - - ->,并按如图所示进行选择:

阅读(3536) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

walterpeng2011-12-08 16:22:53

写得真好!