注意:本方法是在方法一实践之后继续的,可能会依赖方法一中的部分软件包
(方法一链接:https://blog.youkuaiyun.com/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分区的根目录即可。
本文详细介绍了如何在VMware+Ubuntu环境下,使用gcc-linaro-arm交叉编译器,编译全志H3的BSP源码包linux-3.4,包括lichee源码克隆、交叉编译器安装、必要软件包安装、整体编译流程、U-boot与Linux内核的单独编译及TF卡更新等关键步骤。
200

被折叠的 条评论
为什么被折叠?



