Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单!
可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编程等。
如果您想学习 Linux 0.11 内核和 Linux X86 汇编语言,也可以访问另外两套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。
版本更新
继 8 月 16 日发布 v0.2 rc2 之后,Linux Lab 今日发布:v0.2-rc3,该版本除了修复部分功能、完善文档外,新增了原生 Windows 支持。
该版本相比 v0.2 rc2 只有数笔修改,主要如下:
-
新增原生 Windows 支持,仅需 Docker,无需安装 Virtualbox 或 Vmware
- 当前验证环境:Windows 10 PRO, Docker for Windows,Git for Windows,控制台使用的
Git Bash
。 - 同步更新并发布 Cloud Lab v0.1 rc1。
- 当前验证环境:Windows 10 PRO, Docker for Windows,Git for Windows,控制台使用的
-
修复部分功能并完善使用文档
- 更新 graphic boot 相关说明
- 在镜像中新增数个 32 位代码库,修复 gcc 8.x 的 -m32 支持
- 在镜像中新增
realpath
工具,Linux v5.2 用到该工具 - 修复 Risc-V 中不自动引用新编译 proxy kernel 的问题
- 在 Checkout buildroot 中,禁止删除
dl/
下的文件,缓存下来提升后续重新编译的速度 - 修复
feature
目标中缺失的feature
参数 - 修复 gdb 调试相关的参数处理代码
环境准备
在非 Ubuntu 平台,请提前自行安装好 docker,可参考 Docker for Mac、Docker for Windows。
在 Windows 平台下,如果不想额外安装 Virtualbox 或 Vmware 的话,需要:
- 准备好 Windows 10 PRO
- 安装 Docker for Windows
- 安装 Git for Windows
之后,进入到目标工作目录,通过右键执行 Git Bash Here
,之后的操作就跟在 Linux 下完全一样。
如果是老版本的 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
关键特性
Linux Lab 具备如下特性:
- 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
- 支持 7+ 大处理器架构(X86、Arm、MIPS、PPC、Csky,Risc-V, Loongson),其中 Loongson 和 Csky 为国产处理器。
- 支持 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)。
- 支持 5 种登陆方式(docker, ssh, vnc,webssh, webvnc),可以本地访问,也可以远程访问。
- 集成了 5 大组件(Qemu、U-boot、Buildroot、Linux、ToolchAIn),都有预编译版本。
- 内置了 5 大平台,32 位和 64 位共 10 个 Hello World 汇编语言例程,见
examples/assembly
。 - 可以学习处理器指令集、Qemu、Shell、汇编、C、Linux 内核、嵌入式 Linux。
- 支持 Debugging 和 Testing。