为pcduino编译内核
软件环境
- lubuntu 13.10 amd64版 / Ubuntu Server 13.10 amd64版
- 虚拟机20G硬盘,1G内存
为这篇教程,我全新安装多次lubuntu/ubuntu,验证过每个命令,保证能编译出一个能用的内核
安装依赖的库/工具
打开控制台,执行
sudo apt-get install -y g++-arm-linux-gnueabihf vim make u-boot-tools libusb-1.0-0-dev openssh-server pkg-config
sudo apt-get install -y texinfo ccache zlib1g-dev gawk bison flex gettext uuid-dev lib32stdc++6 curl wget ncurses-dev
下载内核源码
推荐从百度网盘下载 pcduino内核源码打包下载
里面的均为github官网代码库的打包, 非git版删掉了.git目录,源码内容完全一样
从github下载(建议网速可以的才使用)
git clone https://github.com/pcduino/kernel.git
cd kernel
git submodule init
git submodule update #会下载全志的sun4i内核源码, 慢慢等吧
开始编译
打开shell,开始耗cpu吧!!
tar xf pcduino_kernel_20131127_nogit.gz #如果是百度网盘下载的,就需要先解压咯,git下载的就无视这句了
cd kernel
make clean
cd sunxi-tools
make clean
cd ..
./configure pcduino
make hwpack
最后输出的信息类似
INSTALL output/lib/firmware/mts_gsm.fw
INSTALL output/lib/firmware/mts_edge.fw
INSTALL output/lib/firmware/edgeport/boot.fw
INSTALL output/lib/firmware/edgeport/boot2.fw
INSTALL output/lib/firmware/edgeport/down.fw
INSTALL output/lib/firmware/edgeport/down2.fw
INSTALL output/lib/firmware/edgeport/down3.bin
INSTALL output/lib/firmware/whiteheat_loader.fw
INSTALL output/lib/firmware/whiteheat.fw
INSTALL output/lib/firmware/keyspan_pda/keyspan_pda.fw
INSTALL output/lib/firmware/keyspan_pda/xircom_pgs.fw
DEPMOD 3.4.29+
make[1]: Leaving directory `/home/wendal/kernel/linux-sunxi'
cd /home/wendal/kernel/build/sun4i_defconfig-linux && arm-linux-gnueabihf-objcopy -R .note.gnu.build-id -S -O binary vmlinux bImage
#git submodule init
#git submodule update cedarx-libs
scripts/mk_hwpack.sh /home/wendal/kernel/output/pcduino_a10_hwpack_20131215.tar.xz
Debian/Ubuntu hwpack
Done.
编译好的压缩包在output目录中,有日期标记,例如pcduino_a10_hwpack_20131215.tar.xz
自定义内核
跟大多数A10的板子一样,你可以修改2个配置文件(ps: android的话还有个分区文件)
第一个是内核配置文件,也就是编译内核时常见的.config文件
#编译成功后可以找到,但编译之前是没有的,可见这不是真正的配置文件
find -name .config
>> ./build/sun4i_defconfig-linux/.config
#真正的配置文件在
find -name sun4i_defconfig
>> ./patch/linux-sunxi/arch/arm/configs/sun4i_defconfig
所以,需要先在build/sun4i_defconfig-linux/进行配置,然后覆盖回去
cd build/sun4i_defconfig-linux/
make menuconfig
# ... ... 配置你需要的选项
#..........
#然后把配置直接覆盖回去,不然下一次build的时候依然是老的
cp .config ../../patch/linux-sunxi/arch/arm/configs/sun4i_defconfig
另外一个是uboot的配置,这个文件有很多很多好东西,看文档吧Fex指南
./sunxi-boards/sys_config/a10/pcduino.fex
More?
我上传了一个ubuntu的vbox磁盘镜像, 用vbox新建一个虚拟机,选择这个文件作为主磁盘启动,即可拥有pcduino编译环境!
镜像地址(还在上传中…)
blog comments powered by Disqus