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

Linux Lab 发布 v0.3 rc3,新增中文文档

Wu Zhangjin 创作于 2020/02/07

By Falcon of TinyLab.org Jan 27, 2020

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

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

Linux Lab Boot example

已经跃跃欲试了?!快来看看 Linux Lab:难以抗拒的十大理由,本次更新又增加了一大理由,快看下文!

如果您想学习 Linux 0.11 内核和 Linux X86 汇编语言,也可以访问另外两套 Lab,即 Linux 0.11 LabCS630 Qemu Lab

版本更新

Linux Lab 先后于 6 月 29 日和 10 月 30 日发布了 v0.1v0.2 正式版。

本次发布 v0.3 的第 3 个候选版本:v0.3 rc3, rc3 主要新增了中文文档,并通过函数模板进一步裁剪了代码,也修复了几处其他问题。

本次更新有 50 多笔提交,有三位贡献者提交了 PR。

$ git log --format='%aN' v0.3-rc2..HEAD | sort -u
LastRitter
unicornx
Wu Zhangjin

$ git log --oneline v0.3-rc2..HEAD | wc -l
54

重要变更如下:

  • 新增中文文档 README_zh.md, gitee 首页会默认显示中文版文档
  • 允许用户在 Linux Lab 根目录和板子目录(boards/<BOARD>)下配置 .labconfig,在其中可以设置变量,定义别名,语法为 Makefile
  • 允许在 make boot 时自动编译 kernel, uboot, rootfs 等目标
    • 例如:make boot kernel=1 uboot=1 root=1 BOOT_PREPARE=cleanstamp,cleanup
  • aarch64/virt 新增 2019.11.1 版本的 buildroot
  • 支持显示板子的”动态“信息,打印各配置的变量值
    • make 默认输出直接显示当前板子最新信息,之前仅打印原始配置
    • make list 默认输出原始配置,加 INFO=dynamic 后列举变量值(较慢)
  • 允许 env-dump 打印某个指定的变量$ 例如:make env-dump VAR=LINUX
  • 修复几处历史 Bugs
    • 修复 loongson ls2k/ls3a7a 编译错误,之前引用的版本在仓库被删除了,用 commit 号代替
    • 修复一处拼写错误:from LL_PATH to LLPATH

环境准备

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

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

极速体验

该版本依赖最新的 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
$ tools/docker/update linux-lab
$ tools/docker/rerun linux-lab

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

$ make boot

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

$ make boot kernel=1

关键特性

Linux Lab 具备如下特性:

  1. 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
  2. 支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。
  3. 支持 15+ 款开发板(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)。
  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 使用。

更多信息

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

该项目完全开源,以 GPL 2.0 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。

欢迎通过微信号(tinylab)联系我们,联系后可以获邀进 Linux Lab 用户交流群Linux Lab 开发者群,还将获赠 Linux Lab 安装文档和 Linux Lab 大会演讲幻灯片。

Read Related:

Read Latest: