泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

泰晓RISC-V实验箱,不会吃灰,开箱即用
请稍侯

通过数张表格展示 Linux Lab 主要功能和最新状态

Wu Zhangjin 创作于 2021/01/18

By Falcon of TinyLab.org Jan 18, 2021

概述

Linux Lab 开源项目经过 5 年的开发和 22 个小版本的迭代,其功能和接口逐渐完善和统一。

为了方便大家查阅,本文通过数张表格列举了其最新的功能清单,主要包括几部分:

  • 支持的主要软件列表
  • 支持的处理器架构和开发板
  • 支持的 Linux 版本和存储设备
  • 支持的 Uboot 版本和启动设备
  • 支持的系统类型
  • 支持的核心命令

Packages 支持

Packages说明
Linux操作系统内核
UbootBootloader
Qemu模拟器
Buildroot文件系统构建

当前仅支持 4 个 Package,未来计划扩充对更多 Packages 开发的支持。相关模块化开发工作已经做了大量准备。

架构与板子支持

ARCHBOARD
i386pc
x86_64pc
armversatilepb
armvexpress-a9
armmcimx6ul-evk
armebf-imx6ull (真板)
aarch64virt
aarch64raspi3
mipselmalta
loongsonls1b
loongsonls232
loongsonls2k
loongsonls3a7a
ppcg3beige
riscvi32virt
riscvi64virt
cskyvirt

目前已经支持所有主流的处理器架构和两家知名国产处理器架构,未来规划优先支持更多国产处理器和开发板,并加强对真实开发板的支持。

泰晓科技与野火合作支持的 IMX6ULL 开发板

arm/ebf-imx6ull 是 Linux Lab 支持的第一块真实开发板,用法基本兼容原有虚拟开发板,欢迎到 社区小店 (某宝内检索“泰晓科技”关键字即可)选购支持我们。选购后可联系微信 tinylab 申请进入 “Linux Lab 真板用户群”,和软硬件大佬们一起学习和研究嵌入式 Linux 硬件开发板。

也欢迎各大开发板厂商联系我们合作添加对更多真实硬件开发板的支持。

Linux 支持

ARCHBOARDLinuxROOTDEV
i386pcv0.11 v2.6.10 v2.6.11.12 v2.6.21.5 v4.6.7 v5.1ram0 nfs hda
x86_64pcv2.6.12.6 v3.2 v5.0.10 v5.1ram0 nfs sda
armversatilepbv2.6.36 v4.6.7 v5.0.13 v5.1ram0 nfs sda
armvexpress-a9v3.16.80 v3.18.39 v4.0.9 v4.12 v4.6.7 v5.0.10 v5.1ram0 nfs mmcblk0
armmcimx6ul-evkv5.4ram0 nfs mmcblk0
armebf-imx6ullv4.19.35mmc sd nand
aarch64virtv4.12 v4.5.5 v5.0.10 v5.1ram0 nfs sda vda
aarch64raspi3v5.1ram0 mmcblk0
mipselmaltav2.6.35 v2.6.36 v4.6.7 v5.0.13 v5.1ram0 nfs hda
loongsonls1bv5.2ram0 nfs
loongsonls232v2.6.32-r190726ram0 nfs
loongsonls2kloongnix-release-1903ram0 nfs sda
loongsonls3a7aloongnix-release-1903 v5.7ram0 nfs sda
ppcg3beigev2.6.36 v2.6.37 v4.6.7 v5.0.13 v5.1ram0 nfs hda
riscvi32virtv5.0.13ram0 nfs vda
riscvi64virtv5.1ram0 nfs vda
cskyvirtv4.9.56nfs

当前支持的内核版本范围非常大,从上古时代的 v0.11,v2.6.10 到较新的 v5.1, v5.2,计划在下一个版本升级到 v5.10,未来尽量及时同步支持官方内核的 LTS 版本。这些版本基本覆盖市面上所有的 Linux 图书,买完图书,非常适合立即下载 Linux Lab 开展实验。

当前大部分板子几乎都同时支持从 ram0,nfs 和磁盘加载文件系统。另外,有多块板子支持 LCD,方便做更复杂的图形系统实验。

Uboot 支持

ARCHBOARDUbootBOOTDEV
armversatilepbv2015.07 v2020.04tftp flash
armvexpress-a9v2015.07 v2020.04tftp flash sd mmc
aarch64virtv2019.10tftp flash ram

当前 arm 和 aarch64 都有板子支持 Uboot,而且引导设备支持的范围也比较广,已经满足日常学习的需要。未来会新增对真实开发板的 Uboot 开发支持。

系统支持

系统类型说明
Buildroot当前主要使用 Buildroot 制作了 mini rootfs
其它当前为 arm/aarch64 制作了 Debian 和 Ubuntu 镜像

考虑到下载和实验效率,目前主要使用的是 Buildroot 制作的 mini 文件系统,都为大家提前编译好了,可以直接使用。未来计划依托 docker 构建更多架构的 Debian 和 Ubuntu 镜像,方便开展更复杂的操作系统实验。

命令支持

make 命令作用
download下载
checkout检出某个版本
patch打补丁
defconfig使能默认配置文件
olddefconfig启用老的配置
menuconfig打开图形配置界面
build编译与构建
save保存配置和镜像
clean清理构建记录
upload上传到板子
boot启动板子到新内核或通过 Qemu 引导
login登陆到板子或者通过 Qemu 启动
debug通过 Qemu 调试
test通过 Qemu 测试
list列出目标变量和信息
help打印目前 package 帮助手册

当前的命令范围已经基本覆盖虚拟和真实开发板,基本支持所有 Packages,未来会进一步完善和统一相关支持。

另外,上述很多命令能自动处理依赖,也就是说一条后续的 boot 命令可以自动触发前面的 download, checkout, patch …,更省心省力。

主机与系统支持

操作系统系统版本Docker 版本内核版本
Ubuntu16.04, 18.04, 20.0418.09.4Linux 4.15, 5.0, 5.3, 5.4
Debianbullseye19.03.7Linux 5.4.42
Arch Linux 19.03.11Linux 5.4.50, 5.7.4
CentOS7.6, 7.719.03.8Linux 3.10, 5.2.9
Deepin15.1118.09.6Linux 4.15
Mac OS X10.15.519.03.8Darwin 19.5.0
Windows10 PRO, WSL219.03.8MINGW64_NT-10.0-17134

Linux Lab 已经友好地支持了三大桌面主流操作系统,已经有数十位同学登记了 成功运行过 Linux Lab 的系统信息

也欢迎大家及时登记并提报自己使用过程中遇到的问题,我们将不断迭代和完善。

快速上手

看了这么久,担心不好上手,5 条命令用起来:

安装 Linux Lab:

$ git clone https://gitee.com/tinylab/cloud-lab.git
$ cd cloud-lab
$ tools/docker/run linux-lab

登陆 Linux Lab 并启动开发板:

$ tools/docker/bash linux-lab
$ make boot

更多用法请直接阅读 README_zh.md 或者下述 PDF 文档:

小结

以上介绍了 Linux Lab 最新的功能状态和后续的大体开发计划,欢迎大家留言分享使用心得,提出功能需求和相关建议。

也欢迎更多同学参与到项目的开发中来,为了感谢大家的贡献,所有历史贡献者都已经人手送了一枚 Linux 定制企鹅杯:

泰晓科技技术社区小福利-定制企鹅杯

等不及的同学,也可以自行在 社区小店 购买一枚赞助我们。

快来加入 Linux Lab 用户和开发者群组吧,加微信号 tinylab 即可,加之前布置个小任务,到 项目首页 给我们来一枚 Star 鼓励吧。



Read Album:

Read Related:

Read Latest: