编译FriendlyDesktop的Uboot源码、内核,修改开机图片logo

1. 安装依赖包

参照官网wiki教程 - 12章节:Nanopi 教程wiki

安装以下依赖包。

sudo apt-get -y install bison g++-multilib git gperf libxml2-utils make python-networkx zip
sudo apt-get -y install flex curl libncurses5-dev libssl-dev zlib1g-dev gawk minicom
sudo apt-get -y install openjdk-8-jdk
sudo apt-get -y install exfat-fuse exfat-utils device-tree-compiler liblz4-tool
sudo apt-get -y install android-tools-fsutils
sudo apt-get -y install swig
sudo apt-get -y install python-dev python3-dev

2. 安装交叉编译器工具链

安装aarch64-linux-gcc 6.4,用来编译Linux系统的内核和u-boot。

git clone https://github.com/friendlyarm/prebuilts.git -b master --depth 1
sudo mkdir -p /opt/FriendlyARM/toolchain
之后按照其中的README.md进行安装
cd prebuilts/gcc-x64
cat toolchain-4.9.3-armhf.tar.gz* | sudo tar xz -C /
cat toolchain-6.4-aarch64.tar.gz* | sudo tar xz -C /

看下工具链中都有啥:4.9.3是cortex-A9的,6.4-aarch64是cortex-A53的。

交叉编译工具链已经被解压到根目录中,接着将编译器的路径加入到PATH中。

用vi编辑,vi ~/.bashrc,在末尾加入以下内容:

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

Esc,:wq。保存退出。

关闭当前终端重新打开,使 ~/.bashrc 生效。验证工具链是否安装成功:

aarch64-linux-gcc -v

验证成功后就可以把 prebuilts 文件夹都删掉了。

3. 编译FriendlyDesktop的Uboot源码

参照官网wiki教程,编译FriendlyDesktop的Uboot源码。

git clone https://github.com/friendlyarm/uboot-rockchip --depth 1 -b nanopi4-v2014.10_oreo
cd uboot-rockchip
export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin/:$PATH
make CROSS_COMPILE=aarch64-linux- rk3399_defconfig
make CROSS_COMPILE=aarch64-linux-

编译完成后会生成 uboot.img、trust.img 和 rk3399_loader_v1.22.119.bin这3个文件,将其拷贝到eflasher系统的SD卡覆盖旧文件:

路径中的 liang 是我的登陆用户名,要根据个人电脑修改。

cp uboot.img trust.img /media/liang/FriendlyARM/friendlydesktop-arm64
cp rk3399_loader_v1.22.119.bin /media/liang/FriendlyARM/friendlydesktop-arm64/MiniLoaderAll.bin

4. 编译FriendlyDesktop的内核源码

参照官网wiki教程,编译FriendlyDesktop的内核源码。

git clone https://github.com/friendlyarm/kernel-rockchip --depth 1 -b nanopi4-linux-v4.4.y kernel-rockchip
cd kernel-rockchip
export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin/:$PATH
make ARCH=arm64 CROSS_COMPILE=aarch64-linux- nanopi4_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux- nanopi4-images

编译完成后会生成 kernel.img resource.img 这2个文件,将其拷贝到eflasher系统的SD卡覆盖旧文件:

路径中的 liang 是我的登陆用户名,要根据个人电脑修改。

cp kernel.img resource.img /media/liang/FriendlyARM/friendlydesktop-arm64/

5. 修改开机logo

一开始以为它的开机图片在它的Uboot中,因为串口终端调试时发现:开机logo在内核启动前就已经显示出来了。

查看 /tools/logos ,并没有发现 FriendlyARM 的logo。

后来编译 内核时发现,开机logo就在 内核的根目录下,并没有在 linuxsrc/drivers/video/logo下。

用自己的logo(分辨率不限),重命名替换掉以前的logo。重新编译内核,再将生成的镜像拷贝到eflasher系统的SD卡覆盖旧文件,重新烧录系统。开机图片修改成功。

猜你喜欢

转载自blog.csdn.net/Mark_md/article/details/110926729