全部博文(40)
2011年(40)
分类: 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压缩文件)可以找到如下驱动。
l GMAC网卡驱动
1b-linux-bsp-309ad19/drivers/net/sb2f_gmac/synopGMAC_network_interface.c
l 串口
1b-linux-bsp-309ad19/drivers/8250.c
l 实时时钟RTC驱动
1b-linux-bsp-309ad19/drivers/ rtc-gs2fsb.c
l 按键驱动
1b-linux-bsp-309ad19/drivers/input/keyboard/74LV165_button.c
l 触摸屏驱动
1b-linux-bsp-309ad19/drivers/i2c/chips/tsc2003.c
l Ram文件系统源代码目录
l USB 鼠标、键盘源代码
1b-linux-bsp-309ad19/drivers/usb/host/ehci-sb2f.c与ohci-sb2f.c
l 优盘支持驱动
1b-linux-bsp-309ad19/drivers/usb/storage
l SD卡驱动源代码目录
1b-linux-bsp-309ad19/drivers/block/sb2fsd.c与sb2fsb_spi.c
l Nand Flash 驱动
1b-linux-bsp-309ad19/drivers/mtd/nand/sb2f-nand.c
l AC97音频驱动目录
1b-linux-bsp-309ad19/sound/oss/sb2f-ac97.c
l LCD驱动
1b-linux-bsp-309ad19/drivers/video/ sb2f-fb.c
l I2C-EEPROM 驱动
1b-linux-bsp-309ad19/drivers/i2c/
l 蜂鸣器驱动
1b-linux-bsp-309ad19/drivers/char/buzzer-bsp.c
l 看门狗驱动
1b-linux-bsp-309ad19/drivers/char/watchdog/gs2fsb_wdt.c
l AD 转换驱动
1b-linux-bsp-309ad19/drivers/spi/mcp3201.c
l 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--->,按回车进入,按照下图进行选择:
按
按
然后选择
在 Device Drivers 菜单里面,找到如图选项,并选择进入:
选择如图“*”号所指示的选项:
在其弹出的下拉列表中选中如图“*”号所示的选项:
这样就选择配置了 USB 键盘和鼠标,然后选择
因为优盘用到了 SCSI 命令,所以我们先增加 SCSI 支持。
在 Device Drivers 菜单里面,选择 SCSI device support,按回车进入:
返回 Device Drivers 菜单,再选择 USB support,按回车进入 USB support 菜单找到并选中<*> USB Mass Storage support 。
然后选择
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 菜单中,选择 sound,并进入:
选择 Sound card supprt,并在下拉列表里选择Open Sound System并进入:
选择Open Sound System (DEPRECATED)并在下拉列表里选择 loongson sb2f soundcard,如图所示:
选择完毕,一直按
在 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 菜单中,选择 Character devices---> 选项并按回车进入:
接着在打开的选项中选中Watchdog Cards选项并进入:
先选中Watchdog Timer Support选项,再选中如图所示看门狗驱动支持:
按
在 Device Drivers 菜单中,选择进入 Input device support --->,找到并选中 Keyboards 驱动支持,如图。
在打开的选项中选中ls1b bsp of 74LV165选项。
按
依然在 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 菜单里面,选择Character devices --->,按回车进入,按照下图进行选择后。
5-3-16 配置串口驱动
依然在 Character devices 菜单中,选择进入 Serial drivers - - ->,并按如图所示进行选择: