注意:本方法是在方法一实践之后继续的,可能会依赖方法一中的部分软件包
(方法一链接:https://blog.csdn.net/ddffyhg/article/details/88087829)
nanopi内核编译:
编译环境:VMware+ubuntu
交叉编译器:gcc-linaro-arm.tar.xz
内核源码:linux-3.4 BSP(全志H3厂商全志科技提供)
步骤:
1.从github上克隆lichee源码
git clone https://github.com/friendlyarm/h3_lichee.git lichee --depth 1
2.安装交叉编译器
访问此处下载地址的toolchain目录,下载交叉编译器gcc-linaro-arm.tar.xz,将该压缩包放置在lichee/brandy/toochain/目录下即可,无需解压。
3.编译lichee源码
编译全志 H3 的BSP源码包必须使用64bit的Linux PC系统,并安装下列软件包,下列操作均基于Ubuntu-14.04 LTS-64bit:
$ sudo apt-get install gawk git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
出现的问题:
解决方法:
$ sudo apt-get install libglapi-mesa:i386
$ sudo apt-get install gawk git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
一次性编译U-boot,linux内核和模块
lichee目录里内置了交叉编译器,当进行源码编译时,会自动使用该内置的编译器,所以无需手动安装编译器
$ cd lichee/fa_tools
$ ./build.sh -b nanopi-m1 -p linux -t all
4.编译成功:
5.更新TF卡上的U-boot:(/dev/sdX请替换为实际的TF卡设备文件名)
$ cd lichee/fa_tools/
$ ./fuse.sh -d /dev/sdX -p linux -t u-boot
6.更新内核:
内核boot.img和驱动模块均位于linux-3.4/output目录下,将boot.img拷贝到TF卡的boot分区的根目录
7.单独编译U-boot
注意: 必须先完整地编译整个lichee目录后,才能进行单独编译U-boot的操作
$ cd lichee/fa_tools/
$ ./build.sh -b nanopi-m1 -p linux -t u-boot
结果:
更新TF卡上的u-boot:(/dev/sdX请替换为实际的TF卡设备文件名)
$ cd lichee/fa_tools/
$ ./fuse.sh -d /dev/sdX -p linux -t u-boot
8.单独编译linux内核
注意: 必须先完整地编译整个lichee目录后,才能进行单独编译Linux内核的操作
$ cd lichee/fa_tools/
$ ./build.sh -b nanopi-m1 -p linux -t kernel
结果:
更新TF卡上的内核:
编译完成后内核boot.img和驱动模块均位于linux-3.4/output目录下,将boot.img拷贝到TF卡的boot分区的根目录即可。