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

泰晓RISC-V实验箱,转战RISC-V,开箱即用
请稍侯

Linux Lab 发布 v0.8 正式版,带来多项特性和更新,发布会视频回放已上传

Wu Zhangjin 创作于 2021/10/13

By Falcon of TinyLab.org Oct 13, 2021

Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单!

Linux Lab Logo

可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编程等。

Linux Lab Boot example

已经跃跃欲试了?!快来看看:

Linux Lab 实验盘直接内置了 Linux Lab 和另外两套实验环境:Linux 0.11 LabCS630 Qemu Lab,可以分别用于学习 Linux 0.11 内核和 Linux X86 汇编语言。

在某宝检索 “Linux Lab真盘” 可以选购各种容量、外观和系统的 Linux Lab Disk。

Linux Lab Disk Demo

版本更新

Linux Lab 于 6 月初发布了 v0.7 正式版本,同步发布了 Cloud Lab v0.5。

经过 4 个月的开发,本次发布 v0.8,新增 LLVM/Clang, Rust 和 openEuler 支持,同步发布 Cloud Lab v0.6,并升级 Docker 镜像。

期间,Linux Lab 实验盘(Linux Lab Disk)进一步新增了 Deepin 20.2, Fedora 34 和 Manjaro 系统支持。

本次相比 v0.7 版本,合计 155 笔变更:

// linux lab
$ git log --pretty=oneline v0.7..HEAD | wc -l
130

// cloud lab
$ git log --pretty=oneline v0.5..HEAD | wc -l
25

本次主要更新如下:

  • v0.8
    • 镜像中新增 mipsel 4.3/4.7 编译器
    • 90% 的开发板内核版本升级到 v5.13
    • 新增 linux 和 buildroot targets,未来直接允许使用 pkg 的名字作为任务目标
  • v0.8 rc3
    • 新增 Rust for Kernel 开发支持
    • 新增 openEuler Kernel 开发支持
    • 新增 LLVM/Clang 编译支持,make kernel LLVM=1
    • 新增 rust 环境安装脚本
    • Pocket Linux Disk 和 Linux Lab Disk 相继支持 Fedora
  • v0.8 rc2
    • Pocket Linux Disk 和 Linux Lab Disk 相继支持 Manjaro
    • 早期文档中描述的更新步骤较重,替换为更为轻量级的更新步骤
    • 修复 MacOS 上的 i386/pc 支持
    • 进一步清理 rootfs 各种格式的依赖关系
    • 进一步优化 make debug,确保 debug 基于最新的改动
    • 清理不必要的 1234 端口映射,该部分可以让用户按需开启
  • v0.8 rc1
    • 发布了首支 Pocket Linux Disk
    • Pocket Linux Disk 和 Linux Lab Disk 相继支持 Deepin

特别致谢

Linux Lab v0.8 新增功能主要来自 开源之夏 2021 的开发成果,感谢所有参与开发的同学与老师们。

相关开发记录回顾:

环境准备

在非 Ubuntu 平台,请提前自行安装好 docker,可参考 Docker for MacDocker for Windows

如果是老版本的 Windows,可以用 Docker Toolbox,也可以通过 Virtualbox 或 Vmware 自行安装 Ubuntu。

国内的同学请务必使用国内的 Docker 镜像服务,否则无法正常下载镜像,推荐参考 阿里云镜像配置文档

下面的链接是大家成功运行过 Linux Lab 的主机环境,欢迎参考,安装完以后也欢迎登记上来。

极速体验

该版本依赖最新的 Cloud Lab 和 docker 镜像:

$ git clone https://gitee.com/tinylab/cloud-lab.git
$ cd cloud-lab
$ tools/docker/pull linux-lab     # 确保更新 docker 镜像
$ tools/docker/run linux-lab

已经下载过的,请更新到最新版本并重启 Linux Lab:

$ cd cloud-lab && git pull
$ pushd labs/linux-lab && git pull && popd
$ tools/docker/rerun linux-lab

进去以后,打开控制台,敲入如下命令即可启动一个虚拟开发板(自动下载预编译的版本):

$ make boot

一键编译和启动(自动下载源码、检出版本、打补丁、配置、编译):

$ make boot BUILD=kernel

默认使用的是 arm/vexpress-a9,如果要使用本次新增的真实开发板,在购买并连接串口和网口到开发主机后,可以简单切换:

$ make BOARD=arm/ebf-imx6ull
$ make login

真实开发板与虚拟开发板用法有细微差异,其详细用法请参考:boards/arm/ebf-imx6ull/README.md

关键特性

Linux Lab 具备如下特性:

  1. 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
  2. 支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。
  3. 支持 ~20 款开发板(i386/pc, x86_64/pc, arm/versatilepb, arm/vexpress-a9, ppc/g3beige, mips/malta, aarch64/virt, aarch64/raspi3, riscv32/virt, riscv64/virt, csky/virt, loongson/ls1b, loongson/ls2k, loongson/ls232, loongson/ls3a7a, arm/ebf-imx6ull)。
  4. 支持 5 种登陆方式(docker, ssh, vnc,webssh, webvnc),可以本地访问,也可以远程访问。
  5. 集成了 5 大组件(Qemu、U-boot、Buildroot、Linux、Toolchain),都有预编译版本。
  6. 内置了 5 大平台,32 位和 64 位共 10 个 Hello World 汇编语言例程,见 examples/assembly
  7. 可以学习处理器指令集、Qemu、Shell、汇编、C、Linux 内核、嵌入式 Linux。
  8. 支持 Debugging 和 Testing。
  9. host & guest 双侧免 root 使用。
  10. 可选购即插即用的 Linux Lab 实验盘。

更多信息

  1. 项目首页
  2. 项目社群
    • 联系微信:tinylab
    • 联系公号:泰晓科技
    • Linux Lab 用户交流群
    • Linux Lab 开发者
  3. 项目仓库
  4. 视频教程

欢迎通过微信号(tinylab)联系我们,联系后可以获邀进 Linux Lab 用户交流群Linux Lab 开发者群,也可联系洽谈企业定制服务。



Read Related:

Read Latest: