编译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

编译成功

相关推荐
淡淡烟雨淡淡愁1 小时前
安装libreoffice
linux
蜀道山老天师1 小时前
云原生监控入门:监控基础概念 + SLI/SLO/SLA 详解 + Prometheus 从零安装配置
linux·运维·云原生·prometheus
AIDF20262 小时前
linux 服务器网络问题排查
linux·服务器·网络
楼兰公子2 小时前
br_opi5_plus_defconfig 附带uboot
linux·运维·服务器
mzhan0173 小时前
Linux: signal: SIGALRM; alarm: ITIMER_REAL
linux·运维·服务器
mzhan0173 小时前
Linux: compare的直观性
java·linux·服务器
原来是猿3 小时前
TCP Server 业务扩展实战:从 Echo 到远程命令执行与词典翻译
linux·运维·服务器
剑神一笑4 小时前
Linux awk 命令:文本处理的瑞士军刀
linux·运维·chrome
用户2367829801685 小时前
Linux df 命令深度解析:从磁盘空间监控到 inode 耗尽排查
linux
3301_5 小时前
Debian13 ThinkPad T490安装指纹解锁
linux