转载

为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编译环境!

镜像地址(还在上传中…)

正文到此结束
Loading...