Linux 嵌入式学习记录(踩坑记录1)

看韦东山老师的70天linux驱动开发课程,拿出很久之前买的JZ2440开发板。

在课程中,会用到bootloder,kernel,视频中用到的是imx6ull,rk3xxx板子,为此我专门买了开fly RK3399开发板,手中还有基友送的tiny4412,想着学好这三块板子,应该差不多入门了。

第一关:

教程中用到都linux版本是

为了适配,我准备给手中的三块板子,都更新到linux4.4.154版本。

首先,我给JZ2440移植bootloder,教程看的是这个,感谢大佬无私分享。

uboot研读笔记 | 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理-CSDN博客

在经历各种坑以后,终于移植成功并更新到了JZ2440上,能够通过网络FTP下载uboot,kernel(官方提供的uImage_4.3)。

但这不是我想要的,开始尝试移植linux kernel4.4.154

首先下载源码Index of /pub/ (kernel.org)

下载完上传至虚拟机上,教程看的是这个,感谢大佬无私分享。

Linux内核移植笔记 | 01 - 移植Linux 3.4.2 内核到JZ2440(配置编译内核,设置machid启动内核)-CSDN博客

然后卡住了。

在编译,运行命令make uImage时,报错信息

我本身的编译环境是

我尝试过使用gcc-5编译,期间查看源码,发现根本没有这个字符(⊙﹏⊙)

然后我上网各种查,中间基友帮我chatGPT了一下,说是as版本太低了,更新binutils版本就可以,但是更新完,说我的版本已经是最新的了,还是没有解决,凸(艹皿艹 ),这坑,深不可测。

先记录到这,等我解决了,接着写。。。。。

———————————————————————————————————————————

很难,这问题卡我一周,不止一周,,,放着,,,,放着,,,,

———————————————————————————————————————————

我准备换个思路,移植一下Linux 4.9.88,然而报错信息跟Linux4.4.154一样。

,,,,然后我不死心,又编译了一下韦东山老师资料盘里的linux-3.4.2,按照

Linux内核移植笔记 | 01 - 移植Linux 3.4.2 内核到JZ2440(配置编译内核,设置machid启动内核)-CSDN博客

编译下来是没有问题的。这,,,,,TMD

换个思路,看看有没有人移植过Liunx 4.4.154,然而都是RK3399有关,而且没有移植过程,,,那再看看有没有人移植过Linux 4.9.88,擦,,,,让我找到了(万分感谢这位大佬)

移植最新的内核linux-4.9到开发板JZ2440全过程笔记_mips-linux-gnu-ld: failed to merge target specific-CSDN博客

在移植过程中,大佬也遇到编译不过的情况,然后更换工具链,就可以了,,,,我看到工具链是友善之臂的,这迎来重大转机,工具链下载地址(广州友善电子计算机科技有限公司 (friendlyelec.com.cn)

知识点来了:

在ubuntu中的命令框内,用gcc -v查询的并不是编译内核时的gcc 版本,,,编译内核版本查询,需要使用arm-linux-gcc   -v

———————————————————————————————————————————终于,终于,,,,,,,,,,,编译出内核了,,,不但linux 4.9.88,linux4.4.154也编译了出来,,,(念念不忘,必有回响)

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值