编译tiny4412 Linux 内核

工作环境

Ubuntu 22

交叉编译器 4.5.1

解压Linux内核源码,进入目录

将官方配置完好的defconfig文件作为配置文件

bash 复制代码
cp tiny4412_linux_defconfig .config

由于内核版本较低,需要下载低版本的gcc,选择下载gcc-9与g+±9

bash 复制代码
sudo apt install gcc-9 g++-9

将gcc g++版本都切换为9

bash 复制代码
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100

切换后可以通过 gcc -v 查看是否切换成功

进入Linux目录,执行make编译

bash 复制代码
make zImage

出现错误

Can't use 'defined(@array)' (Maybe you should just omit the defined()?

修改方法

~/workspace/tiny4412/linux-3.5$ vi kernel/timeconst.pl +373

bash 复制代码
if (!defined(@val)) {
        @val = compute_values($hz);
      }

修改为,注释掉

bash 复制代码
#if (!defined(@val)) {
#        @val = compute_values($hz);
#      }
#

或者改为

vi kernel/timeconst.pl

将373行的

if (!defined(@val)) {

改为

if (!(@val)) {

bash 复制代码
make zImage

编译成功

相关推荐
feasibility.32 分钟前
SSH Agent Forwarding 与 tmux 排障笔记
linux·运维·服务器·经验分享·笔记·ssh
ShawnLiaoking38 分钟前
Linux 会话窗口常开
linux·运维·服务器
230万光年的思念40 分钟前
向日葵远程控制ubuntu24一直显示连接中
linux
IMPYLH2 小时前
Linux 的 dir 命令
linux·运维·服务器·数据库
fanged2 小时前
操作系统番外1(Linux的测试体系)(TODO)
linux·运维·服务器
123过去4 小时前
pixiewps使用教程
linux·网络·测试工具·算法·哈希算法
H_老邪4 小时前
Linux 与 Docker 常用命令
linux·运维·服务器·docker
yewq-cn4 小时前
linux 内核设备号
linux·运维·服务器
文静小土豆5 小时前
Linux 进程终止指南:理解 kill 与 kill -9 的核心区别与正确用法
linux·运维·服务器
不懒不懒5 小时前
安装python3.9.7和pycharm-community-2022.3.2.exe以及linux
linux·ide·python·pycharm