详解全新ubuntu虚拟机搭建tinker board 2s 内核编译

本文介绍如何在Ubuntu虚拟机中为TinkerBoard2S开发板搭建交叉编译环境,并编译适用于该开发板的内核模块。包括安装必要的软件包、设置环境变量、下载内核源码及配置文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前手头有一个tinker board 2s的开发板,处理器架构是arm64,今天就在Windows上的ubuntu 虚拟机里面
搭建一个交叉编译的环境,目标是可以编译出运行在tinker board 2s的开发板上的内核模块。
该开发板的内核版本为 4.4.194。
以下命令全部在ubuntu上执行。

首先更新系统

sudo apt update
sudo apt upgrade

下载linaro的arm64位交叉编译工具

cd  /usr/local/
mkdir arm
cd arm
sudo wget  https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
tar xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

放入/etc/profile文件末尾。

export PATH=$PATH:/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin

让环境变量生效

source  /etc/profile

安装必要的包:

sudo apt-get install make build-essential libncurses-dev bison flex libssl-dev libelf-dev

注意gcc必须为版本9,不然编译内核报错。

sudo apt install gcc-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100

下载对应的内核版本:

wget https://github.com/TinkerBoard2/kernel/archive/refs/tags/tinker_board_2-debian_10-2.0.0.zip
unzip tinker_board_2-debian_10-2.0.0.zip

下面是把开发板的内核配置文件copy至ubuntu。
我的开发板的ip是 192.168.31.82,支持ssh.
复制目标开发板的内核配置文件至ubuntu当前目录:

sudo scp linaro@192.168.31.82:/proc/config.gz  .
sudo  gunzip  config.gz

修改文件名为.config,后面备用.

sudo  cp config  .config

开始编译内核:

cd tinker_board_2-debian_10-2.0.0

1 先清除上次编译的遗留文件:

sudo  make distclean

2 使用tinker board 2s的 .config 文件编译

将上面准备好的.config 文件复制到当前目录.

sudo cp ../.config  .

3 继续执行:

sudo  make ARCH=arm64  CROSS_COMPILE=/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- 

这里有几个编译错误,可以参考这里解决

4 继续执行:

 sudo make ARCH=arm64  rk3399-tinker_board_2.img  CROSS_COMPILE=/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-   -j8

5 then copy boot.img to tinker_board

  scp  boot.img   linaro@192.168.31.82:/home/linaro/a

6 在开发板上执行:

  sudo dd if=boot.img of=/dev/mmcblk1p4

7 重启开发板,然后输入

uname -a

来确认内核编译时间.

欢迎评论区留言。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值