Linux Lab v0.5 正式发布

2020年09月19日

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

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

Linux Lab Boot example

Linux Lab Boot example

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

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

版本更新

Linux Lab 于 6 月底发布了 v0.5 的第一个候选版本:v0.5-rc1,经过三个月的开发和迭代,在连续发布了 rc2, rc3 后,本次发布 v0.5 正式版本,同步发布配套的 Lab 管理工具 Cloud Lab v0.3 和首个 Linux Lab 视频公开课,更多用法将逐步以视频讲解+演示的方式发布,敬请期待。本次主要是把开发环境升级到了 Ubuntu 20.04 并添加了龙芯全系处理器支持。

本次合计 204 笔变更:

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

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

本次有 4 位同学发起了 PR 并被 Merge,另有接近 10 位同学提报或验证了 Bug,感谢大家的贡献:

$ git log --format="%aN" v0.4..v0.5 --reverse | sort -u
fanjun kong
Signal
taotieren
WuZhangjin

本次主要更新如下:

v0.5

  • Bug 修复和功能完善

    • 整理目录架构,新增 src 和 build 目录,并把部分目录转到 src 目录下

    • 修复 clone 功能,避免一处死循环

  • 文档更新

    • 介绍如何以压缩包的方式导入内核源代码

    • 介绍同名板子的使用注意事项

    • 介绍如何通过 Linux Lab 开展 C 语言开发

    • 完善调试相关文档

v0.5-rc3

  • Bug 修复和功能完善

    • 修复 arm/vexpress-a9 因编译器配置问题引起的 Uboot 编译失败

    • 新镜像中 aarch64/virt 的系统自带 Qemu 有问题,替换为 BSP 包中预编译的版本

    • 增大龙芯 Qemu 传递内核参数的 Buffer(Binary暂时未更新)

    • system/tools/trace.sh: 更新对新内核的支持

    • tools/root/dir2*.sh: 允许 find 属于 root 的文件,确保 rootfs 打包完整

    • 分别设定 x86_64/pc 和 arm/vexpress-a9 默认编译器为 gcc-8 和 gcc-9,确保能正确编译新内核

  • 文档更新

    • 进一步完善文档中对普通用户的使用要求,避免使用 root 带来的诸多问题

    • 完善来自 Docker Debian 镜像的根文件系统的用法

v0.5-rc2

  • Qemu 方面

    • 进一步改善 Qemu 编译体验,在 Gitee 新增 submodules 镜像,不再有挫折感

    • 修复新镜像中的一处 Loongson qemu 编译错误

    • 感谢龙芯@张老师 反馈和提出修改建议

  • 文档方面

    • 新增 Arch/Manjaro docker 安装文档,感谢@taotieren 发送 PR

    • 修复 MacOS 大小写敏感的文件系统镜像制作步骤,感谢@贾献华 报告Bug并给出修订方案

    • 新增 “新建分支进行 Linux 开发” 的步骤,感谢@陈家楠 反馈

    • 显式注明工作路径,确保非内置登陆方式 ok,感谢@老孔家的独苗 发送 PR

  • 其他问题

    • 完善两处内核模块编译问题,感谢@江左有枚狼 报告Bug

    • 修复一处 x86_64 首次下载内核后的内核配置文件路径问题,感谢@亮 报告Bug

v0.5-rc1

  • 全面完善并合并早期对龙芯全系处理器的支持

    • 目前已经支持 4 块开发板:mipsel/ls1b, mipsel/ls2k, mipsel/ls232, mipsel/ls3a7a

    • 其中 ls1b 已经支持 mainline v5.2,ls2k 和 ls3a7a 有望在 v5.8/v5.9 获得完整支持

  • 全面升级开发环境基础镜像到 Ubuntu 20.04

    • 大部分准备工作都已经开发完成并合并到了当前版本,部分兼容和适配工作还在继续

环境准备

在非 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
$ 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 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。

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

展开阅读全文
20 收藏
分享
加载中
精彩评论
插眼,改天试下。。。
2020-09-19 17:03
1
举报
最新评论 (3)
收藏,改天试一下
2020-09-19 22:39
0
回复
举报
插眼
2020-09-19 20:31
0
回复
举报
插眼,改天试下。。。
2020-09-19 17:03
1
回复
举报
更多评论
3 评论
20 收藏
分享
返回顶部
顶部