下载内核源码
下载zip包或者克隆git仓库到本地
mkdir ~/cubieboard
cd ~/cubieboard
wget https://github.com/linux-sunxi/linux-sunxi/archive/sunxi-3.4.zip
unzip sunxi-3.4.zip
cd linux-sunxi-3.4
编译内核
检查内核源码树是否纯净,不纯净则会clean
make ARCH=arm mrproper
生成默认配置
make ARCH=arm sun4i_defconfig
调出配置菜单
make ARCH=arm menuconfig
配置的选项很关键,着重注意以下几项:
- SATA 硬盘支持
- GPIO 支持
- 无线网络支持
- USB 网卡支持
- Tun/Tap 设备支持 摄像头支持
- 红外线支持
- USB 串口设备支持 HDMI 输出支持
此外,选中Realtek 8188E USB WiFi 驱动(这是我的水星网卡驱动)
- 硬盘支持:Device Drivers —> Serial ATA and Parallel ATA drivers —> SoftWinner Platform AHCI SATA support
- GPIO支持:Device Drivers —> GPIO Support —> GPIO Support for sunxi platform
- 无线网卡支持:Networking support —> Wireless —> Generic IEEE 802.11 Networking Stack (mac80211)
- USB网卡支持:Device Drivers —> Network device support —> Wireless LAN —> Ralink driver support
- Tun/Tap设备支持:Device Drivers —> Network device support —> Universal TUN/TAP device driver support
- 摄像头支持:Device Drivers —> Multimedia support —> Video capture adapters —> V4L USB devices —> USB Video Class (UVC)
- 红无线支持:Device Drivers —> Input device support —> Keyboards —> sunxi IR support
- USB 串口设备支持:Device Drivers —> USB support —> USB Serial Converter support —> USB Prolific 2303 Single Port Serial Driver
- HDMI 输出支持:Device Drivers —> Graphics support —> Support for frame buffer devices —> HDMI Driver Support(sunxi)
编译内核uImage文件
make uImage CROSS_COMPILE=arm-linux-gnueabihf- -j2 ARCH=arm modules
发掘更多的可用内存
Cubieboard 的默认内核配置文件中提供了 mali-GPU 支持,并为 X11、DRI、Framebuffer 保留了 200 多兆内 存,这些内存将无法被用户使用;如果想把 Cubieboard 作为一个无显示输出的服务器使用,那么这些保留内存应当释放出来供用户使用,此时必须修改内核的配置,使其中包含如下选项(修改时可在 menuconfig 中按’/’ 键来搜索相关选项),然后再重新编译内核:
CONFIG_SUN4I_G2D=n
CONFIG_FB_SUNXI_RESERVED_MEM=n
CONFIG_SUN4I_G2D_MODULE=n
CONFIG_FB_SUNXI_RESERVED_MEM=n
CONFIG_SUNXI_MALI_RESERVED_MEM=n
CONFIG_DRM_MALI=n
CONFIG_MALI=n
CONFIG_MALI400=n
FAQ
如果在编译时报如下错误:
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
net/Kconfig:343: can't open file "net/mac80211/Kconfig"
make[1]: *** [sun4i_defconfig] Error 1
make: *** [sun4i_defconfig] Error 2
可以打开 net/Kconfig 文件 把343行注释掉,重试上步骤。
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
输出如上信息,表示该步骤执行成功。
这篇文章目前没有评论