U-BOOT的本地控制台输出

U-BOOT是伴随Linux成长起来的引导程序(Boot Loader),以代码短小精悍,功能灵活强大著称。虽然它支持包括比如Power PC和X86在内的很多种CPU,但是在ARM上使用的最广泛。比如幽兰代码本最初使用的就是U-BOOT。2023年年初,幽兰本增加了UEFI支持,但使用了一段时间后,又改为默认预装U-BOOT了。

曾经改用UEFI的主要原因有两个:一个是支持Windows,另一个是本地的交互界面,包括GUI和UEFI Shell。

改回U-BOOT的原因也主要有两个:一是U-BOOT速度快,二是硬件适配得比较好。U-BOOT对ARM的支持超过20年,而UEFI在ARM上的时间虽然算起来也有将近10年,但是实际使用不多,还属于磨合阶段。

换回U-BOOT后,少了UEFI的本地GUI和UEFI Shell。如何弥补这个缺失呢?

其实,U-BOOT也是有命令接口(Command Shell)的,而且命令的数量和功能与UEFI不相上下,只是使用起来不如UEFI那么方便。

幽兰使用的U-BOOT是基于瑞芯微定制过的版本修改的(以下简称RK版本)。以这个版本为例,只能通过串口终端才能激活和使用命令接口。

具体来说,需要使用一根串口线和两台电脑,在U-BOOT阶段在串口终端中按热键1打断自动启动,让其进入命令行。

Autoboot in 2 seconds
ulan# version
U-Boot 2017.09-YourLand_YouXi (Jan 27 2025 - 14:39:17 +0800)


gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
GNU ld (GNU Binutils for Ubuntu) 2.42
ulan#

本地对话

串口终端需要两台电脑,肯定不如本地交互方便。为此,我一直在思考如何解决这个问题。

在谷歌公司工作的Simon Glass是U-BOOT的一位重要开发者,他在2023年6月的Embedded Open Source Summit上演讲,题目为《U-Boot中的近期进步》(Recent Advances in U-Boot)。

9fb3e18881e0c4d6b70aa2bc1d1030db.jpeg

(Simon Glass,U-Boot重要开发者,照片来自Github)

在这个演讲中,Simon介绍了U-Boot的expo子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值