基于NanoPi3(三星S5P6818)的kernel移植(二)

基于NanoPi3(三星S5P6818)的kernel移植(二)

说明1:在编译过程中,有可能遇到一些报错,大概率是缺少了一些链接库,需要根据对应的错误进行安装。

说明2:当前内核(kernel)移植相对简单,由于使用了配置好的.config文件,以及设备树(dtb),同时还有分区挂载之类的内容都是省略掉了,如需要深入学习,可自行专研,此文章不再过多分析。

1.安装交叉编译器

1)新建文件夹, 并进入nanopi3目录。

mkdir nanopi3
cd nanopi3  

2)安装aarch64-linux-gcc 6.4 ,使用命令下载。

git clone https://github.com/friendlyarm/prebuilts.git -b master --depth 1

3)然后cd prebuilts/gcc-x64 ,最后使用命令解压并放到/opt/目录下。

cat toolchain-6.4-aarch64.tar.gz* | sudo tar xz -C /

4)打开.bashrc:vim .bashrc 添加编译链的bin文件路径 ( 类似windows下的添加环境变量 ),在文件末尾 添加以下内容。

export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin:$PATH
export GCC_COLORS=auto

5)然后保存退出,最后更新环境变量。

source .bashrc

2.获取源代码

1)拉取代码,从github上拉取对 NanoPi3 进行了适配的 kenrel(如果没有git请先安装)。

2)进入nanopi3 目录,

cd nanopi3  
git clone https://github.com/friendlyarm/linux.git -b nanopi2-v4.4.y --depth 1

3.编译kernel

1)建议使用如下命令编译。 进入下载的kernel文件中。

cd linux

2)S5P6818内核所属的分支是nanopi2-v4.4.y,与S5P4418相同,在开始编译前先切换分支。

touch .scmversion

3)编译生成Image、dtb。

make ARCH=arm64 nanopi3_linux_defconfig
make ARCH=arm64	

4)编译成功结束后,新生成的内核是 arch/arm64/boot/Image, 目录arch/arm64/boot/dts/nexell/下还包括新的DTB文件(s5p6818-nanopi3-rev*.dtb)。

后续上传:
基于NanoPi3(三星S5P6818)的rootfs移植(二)

猜你喜欢

转载自blog.csdn.net/qq_39721016/article/details/123627663