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

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

Linux Lab Boot example

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

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

版本更新

Linux Lab 于 6 月底发布了 v0.5 的第一个候选版本:v0.5-rc1,首次合并了龙芯全系处理器支持,本次发布的 v0.5-rc2 改动不多,但是在社区参与方面迎来重大的里程碑,本次所有改动均来自用户和开发者的反馈或贡献。

本次合计 43 笔变更:

// cloud lab
$ git log --pretty=oneline v0.3-rc2..HEAD | wc -l
13

// linux lab
$ git log --pretty=oneline v0.4..v0.5-rc1 | wc -l
30

本次变更不算多,但是对于所有历史版本而言,在用户参与方面,具有里程碑意义。因为这次的修订主要源自用户真实使用环境中报告的 bug,参与的用户之多超出历史上任何一个版本,非常感谢大家的踊跃参与。

一方面说明越来越多的同学开始用到实际学习和工作中;另外一方面,随着真实使用的场景越来越多,报告和修复的 Bug 也越来越多,因此 Linux Lab 会越来越好用。

主要修订如下:

  • Qemu 方面
    • 进一步改善 Qemu 编译体验,在 Gitee 新增 submodules 镜像,不再有挫折感
    • 修复新镜像中的一处 Loongson qemu 编译错误
    • 感谢龙芯@张老师 反馈和提出修改建议
  • 文档方面
    • 新增 Arch/Manjaro docker 安装文档,感谢@taotieren 发送 PR
    • 修复 MacOS 大小写敏感的文件系统镜像制作步骤,感谢@贾献华 报告Bug并给出修订方案
    • 新增 “新建分支进行 Linux 开发” 的步骤,感谢@陈家楠 反馈
    • 显式注明工作路径,确保非内置登陆方式 ok,感谢@老孔家的独苗 发送 PR
  • 其他问题
    • 完善两处内核模块编译问题,感谢@江左有枚狼 报告Bug
    • 修复一处 x86_64 首次下载内核后的内核配置文件路径问题,感谢@亮 报告Bug

环境准备

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

如果是老版本的 Windows,可以用 Docker Toolbox,也可以通过 VirtualBoxVMware 自行安装 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
$ tools/docker/update linux-lab
$ tools/docker/rerun linux-lab

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

$ make boot

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

$ make boot BUILD=kernel

默认使用的是 arm/vexpress-a9,如果要使用龙芯的板子,可以简单切换:

$ make BOARD=mipsel/ls1b
$ make boot

关键特性

Linux Lab 具备如下特性:

  1. 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
  2. 支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。
  3. 支持 16+ 款开发板(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 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。