在树莓派上创建 U-boot/vmlinux/initramfs 并启动

树莓派的交叉编译 U-boot”https://qiita.com/nanbuwks/items/4f2d676d2c5696c33c04因此,我在我的 PC 上使用 Ubuntu 20.04 为 RaspberryPi 3 构建了 U-boot。这一次,我们将更进一步,一直到 initramfs。

引导 Linux

一般来说,它看起来像这样:

BIOS 或 UEFI 或引导代码 GRUB 和 U 引导 vmlinuz+initramfs 挂载根文件系统 在根文件系统上运行 /sbin/init 或 systemd

BIOS、UUEFI 和 GRUB 用于 PC,而嵌入式系统经常使用引导代码和 U-boot。

引导至嵌入式 Linux

流程如下。

引导代码 U-boot vmlinuz+initramfs 挂载根文件系统 在根文件系统上运行 /sbin/init 或 systemd 这次访问的目的

树莓派属于内置的范畴,但不一定是这样,因为有一些特殊的地方。然而,这一次,尽可能地,

引导代码 U-boot vmlinuz+initramfs

我们将努力通过实验来理解这一点。

源材料

“使用 u-boot 和 Initramfs 启动 Raspberry Pi 4”我将按照说明进行操作。

环境 Ubuntu 22.04 LTS en 桌面和 WSL2 树莓派 3 微型 SD 卡

最初的故事是 Raspberry Pi 4,但本文针对的是 Raspberry Pi 3。

WSL2

人们安装如下https://qiita.com/nanbuwks/items/e3db5fe9c03c76a62227

准备 SD 图像

2. 原创故事的准备是一张实际的SD卡,但这次我们将创建一个图像文件并进行处理。“在 Ubuntu / WSL2 上创建磁盘映像文件”https://qiita.com/nanbuwks/items/11c296a26a17c4ed3129请准备如下。

工具链

如下预先安装。

基于原始故事“3. Toolchain”,按照下面文章中的描述进行工作。

“在 Ubuntu 上为 RaspberryPi 构建交叉工具链”https://qiita.com/nanbuwks/items/e19887e6a66262d325ca

仅在 git checkout 时,

$ git checkout crosstool-ng-1.25.0 -b 1.25.0

会做。 “构建工具链”

$ ./ct-ng build

完成并让通过。

U型启动

按照原故事“4. Bootloader”,按照下面的文章创建U-boot。

“树莓派的交叉编译 U-boot”https://qiita.com/nanbuwks/items/4f2d676d2c5696c33c04

根据文档,准备以下四项。

bootcode.bin start.elf u-boot.bin config.txt

将这四个放在 SD 卡映像的引导分区中并卸载它们。

将镜像写入SD卡,加载到树莓派3,如果能启动,U-boot创建就OK了。

剩下的我会继续努力 “5. 内核” "6. 根文件系统" "7. 启动板"

(继续)

原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308626815.html

31人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册