linux编译2020uboot,BiscuitOS uboot 2020.04 Usermanual

646b2c5a971c5dca419b4b088abbfb20.png

目录

b1745a317cf167359080735e730438b9.png

646b2c5a971c5dca419b4b088abbfb20.png

BiscuitOS 基础环境部署

b1745a317cf167359080735e730438b9.png

8b92e1b107e0027ea3dd87582682fbb9.png

BiscuitOS 项目简介

BiscuitOS 项目是一个用于制作 Linux 0.x、1.x、2.x、3.x、4.x、5.0

通用精简操作系统,其目标是为开发者提供一套纯软件的 Qemu 实践平台

或者硬件 RaspberryPi 实践平台,让开发者能够便捷、简单、快速的

在各个版本上实践 Linux。更多 BiscuitOS 信息请范围下列网站:

b1745a317cf167359080735e730438b9.png

c5040bd006ececb363662c3da79f779f.png

BiscuitOS 硬件准备

d9b0de69bb88196a194b633ef4e88d50.png

由于项目构建基于 Ubuntu,因此需要准备一台运行

Ubuntu 14.04/16.04/18.04 的主机,主机需要保持网络的连通。

b1745a317cf167359080735e730438b9.png

df41ad090753e425c030ae1ac5ee8334.png

BiscuitOS 软件准备

开发者准好硬件设备之后,首先在 Ubuntu 上安装相应的开发工具,请参考下面文档,

其他 Linux 发行版与之类似:

基础环境搭建完毕之后,开发者从 GitHub 上获取 BiscuitOS 项目源码,使用如下命令:

git clone https://github.com/BiscuitOS/BiscuitOS.git --depth=1

cdBiscuitOS

BiscuitOS 源码下载完毕后,使用 BiscuitOS 自动部署功能,部署一个 Linux 5.0

arm32 的开发部署,使用自动部署功能之后,BiscuitOS 项目会自动下载并部署 Linux

5.0 arm32 所需的源码和编译工具等,可能需要一些时间,请保持网络的通畅. 开发者

参考下面命令进行部署:

cdBiscuitOS

make u-boot-2020.04_defconfig

make

cdBiscuitOS/output/BiscuitOS-uboot

成功执行之后,BiscuitOS 输出 Linux 5.0 arm32 项目目录,以及对应内核的目录,并且

自动生成 BiscuitOS Linux 5.0 arm32 用户手册 (README),开发者应该重点参考该

README.md.

____ _ _ _ ___ ____

| __ )(_)___ ___ _ _(_) |_ / _ \/ ___|

| _ \| / __|/ __| | | | | __| | | \___ \

| |_) | \__ \(__| |_| | | |_| |_| |___) |

|____/|_|___/\___|\__,_|_|\__|\___/|____/

***********************************************

Output:

BiscuitOS/output/BiscuitOS-uboot

linux:

BiscuitOS/output/BiscuitOS-uboot/linux/linux

README:

BiscuitOS/output/BiscuitOS-uboot/README.md

***********************************************

b1745a317cf167359080735e730438b9.png

fb5485d78f5b9a7e7437d66dcee28923.png

BiscuitOS uboot 部署

BiscuitOS 项目为开发者提供了一套便捷的 uboot 开发平台,其基于 arm32 linux 5.0 进行构建,其源码目录位于:

BiscuitOS/output/BiscuitOS-uboot/u-boot/u-boot

uboot 源码的配置和编译使用如下命令,开发者参考使用:

cdBiscuitOS/output/BiscuitOS-uboot/u-boot/u-boot

make ARCH=arm clean

make ARCH=arm vexpress_ca9x4_defconfig

make ARCH=arm menuconfig

make ARCH=arm CROSS_COMPILE=BiscuitOS/output/BiscuitOS-uboot/arm-linux-gnueabi/arm-linux-gnueabi/bin/arm-linux-gnueabi-

817b1b12f7771fdce14f1e7a78700ac4.png

0df2e76b3d54bed98a5d526a8bdab421.png

BiscuitOS 内核部署

BiscuitOS 项目的目标就是为开发者提供一套便捷实践内核的平台,并且 BiscuitOS 支

持完整的内核开发,开发者请参考下列步骤进行开发:

b1745a317cf167359080735e730438b9.png

eaf8e6a127cb3b4c5dd998445c5df3db.png

Linux 内核配置

对于内核配置,根据 README.md 的提示,配置内核可以参考如下命令:

cdBiscuitOS/output/BiscuitOS-uboot/linux/linux

make ARCH=arm clean

make ARCH=arm vexpress_defconfig

make ARCH=arm menuconfig

Enable the block layer --->

[*] Support forlarge (2TB+) block devices and files

b1745a317cf167359080735e730438b9.png

5b458f49c265f5b5eceedf2fb54e8553.png

Linux 内核编译

内核配置完毕之后,接下来就是编译内核,根据 README.md 里提供的命令进行编译,

具体命令如下:

cdBiscuitOS/output/BiscuitOS-uboot/linux/linux

make ARCH=arm CROSS_COMPILE=BiscuitOS/output/BiscuitOS-uboot/arm-linux-gnueabi/arm-linux-gnueabi/bin/arm-linux-gnueabi- -j4

b1745a317cf167359080735e730438b9.png

7ffbd60b32ad8c183fc3ff1aefc948d5.png

Busybox/Rootfs 制作

为了使 BiscuitOS 能够运行,开发者需要为 BiscuitOS 准备运行必备的工具,BiscuitOS

默认使用 busybox 进行系统 rootfs 的构建,开发者可以参考如下命令进行构建:

cdBiscuitOS/output/BiscuitOS-uboot/busybox/busybox

make clean

make menuconfig

9f4ddfa5812380bb873d3d499e9c8fe8.png

选择 Busybox Settings —>

6c2def8cad394463ed47e40badbe2a87.png

选择 Build Options —>

e6de130e6e2c82ae0f5cb801b598e7db.png

选中 Build BusyBox as a static binary (no shared libs),保存并退出。使用 如下命令编译 BusyBox

make CROSS_COMPILE=BiscuitOS/output/BiscuitOS-uboot/arm-linux-gnueabi/arm-linux-gnueabi/bin/arm-linux-gnueabi- -j4

make CROSS_COMPILE=BiscuitOS/output/BiscuitOS-uboot/arm-linux-gnueabi/arm-linux-gnueabi/bin/arm-linux-gnueabi- install

编译完上面的工具和 Linux 之后,运行前的最后一步就是制作一个可运

行的 Rootfs。开发者可以使用 README 中提供的命令进行制作,如下:

cdBiscuitOS/output/BiscuitOS-uboot

./RunBiscuitOS.sh pack

b1745a317cf167359080735e730438b9.png

2dc2fe3297afeb1021c6deeb0655cfe7.png

BiscuitOS 基础使用

在准备完各个模块之后,开发者完成本节的内容之后,就可以运行一个 uboot, uboot 自动加载并引导内核的启动,最终运行完整的 BiscuitOS 系统. BiscuitOS 的运行很简单,通过提供 RunBiscuitOS.sh 脚本将涉及的启动命令全部整理包含成精简的命令,开发者可以通过查看 RunBiscuitOS.sh 脚本逻辑来研究 BiscuitOS 运行机理. BiscuitOS 的运行很简单,开发者执行使用如下命令即可:

cdBiscuitOS/output/BiscuitOS-uboot

./RunBiscuitOS.sh

3c1b892398f8877368f4cba458f6c247.png

在 uboot 启动初期,按下回车可以让 BiscuitOS 停留在 uboot 阶段。如果不按回车,那么 uboot 将应到内核启动,如下图:

HK000489.png

b1745a317cf167359080735e730438b9.png

附录

捐赠一下吧 🙂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值