当前位置: > Linux新闻 >

Linux Lab v0.3-rc1 发布,新增 5 本知名 Linux 图书所用内核支持

时间:2020-01-04 10:19来源:未知 作者:IT

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

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

Linux Lab Boot example

Linux Lab Boot example

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

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

版本更新

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

本次发布 v0.3 的第 1 个候选版本:v0.3 rc1,随同发布的还有 Cloud Lab v0.1 的第 3 个候选版:v0.1 rc3

Linux Lab v0.2 首次被 某线上课程 全程采用,本次 v0.3 rc1 一方面完善了课程学员反馈的问题,另外一方面新增了对多本经典 Linux 图书所采用的 Linux 内核提供了支持。

相关改动合计超过 100 笔:

$ cd cloud-lab/
git log --pretty=oneline v0.1-rc2..HEAD | wc -l
9

$ cd labs/linux-lab
$ git log --pretty=oneline v0.2..HEAD | wc -l
98

本次新增对 5 本图书所用 Linux 内核的支持,结合之前的一本,合计 6 本图书汇总如下:

图书(缩写) 内核版本 板子
LDD3 v2.6.10 i386/pc
ULK3 v2.6.11.12 i386/pc
PLKA v2.6.24.7 i386/pc
LKD3 v2.6.34.9 i386/pc
L4D v4.0,v3.16 arm/vexpress-a9
RLK4.0 v4.0 i386/pc, arm/vexpress-a9, aarch64/virt

为避免广告嫌疑,书名略掉,请大家自行根据内核版本号匹配。另外,为便利大家阅读 Linux 图书,Linux Lab 将持续开展“致敬经典”计划,继续新增对其他知名 Linux 图书所用 Linux 内核版本的支持。

下面是一些其他重要变更:

  • README: 新增大量 FAQ,包括各种安装、使用过程中的常见问题

  • Makefile: 新增 kernel-clone 目标,允许更高效的添加新的 Linux 版本

  • Makefile: 允许根据内核版本更灵活地配置 GCC、ROOTFS、GIT 仓库等,配置后能按需自动化切换、下载和转换

  • bsp: 新增多个历史版本 Linux 内核支持,从 v2.6.34 到 v2.6.10,用法完全兼容其他版本

  • buildroot: 允许配置 linux headers 为本地 linux-stable,提升构建速度

环境准备

在非 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

快速使用某个指定板子上某个 Linux 内核版本,以 LDD3 的 Linux v2.6.10 为例:

$ make B=i386/pc
$ make board-config LINUX=v2.6.10
$ make boot

如果要快速新增一个新的 Linux 内核,一般可以先查看已经支持的列表,选择一款临近的,再 clone:

$ make boot LINUX=?
Makefile:262: *** Supported LINUX list: v2.6.10 v2.6.11.12 v2.6.12.6 v2.6.21.5 v2.6.24.7 v2.6.34.9 v2.6.35.14 v2.6.36 v4.6.7 v5.1 v5.2.  Stop.
$ make kernel-clone LINUX=v5.2 LINUX_NEW=5.4
$ make kernel-checkout
$ make kernel-defconfig
$ make kernel-menuconfig
$ make kernel
$ make boot

以上从 v5.2 复制一个 v5.4,直接复用 v5.2 的内核配置,然后再用 make kernel-menuconfig 调整配置,如果编译过程不顺利,需要在 make kernel 时进入 linux-stable 调整代码,提交到本地,并生成 patch,再用 make kernel-savepatch 保存即可,以后就可以在 checkout 之后用 make kernel-patch。

详细用法请参考 README.md,码云上的在线版本有内容目录,更方便阅读。

关键特性

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. 项目社群

    • 联系公号:泰晓科技

    • Linux Lab 用户交流群

    • Linux Lab 开发者

  3. 项目仓库

  4. 项目插件

  5. 演示视频

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

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容