可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编程等。
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 的第 2 个候选版本:v0.3 rc2,随同发布的还有 Cloud Lab 的第 1 个正式版本:v0.1。
Linux Lab v0.3 rc1 新增了对多本经典 Linux 图书所采用的 Linux 内核提供支持,而 v0.3 rc2 则大幅提升了使用体验。
相关改动刚好 100 笔:
$ cd cloud-lab/
git log --pretty=oneline v0.1-rc3..HEAD | wc -l
5
$ cd labs/linux-lab
$ git log --pretty=oneline v0.3-rc1..HEAD | wc -l
95
下面是一些重要变更:
-
修复多处 Windows 兼容问题
- 提升 git 仓库下载体验:所有仓库下载切换为 git init+fetch,更为健壮
-
新增基于 git init+fetch 的 clone 脚本:tools/git/clone.sh
-
-
提升自动化:常规动作都新增了依赖关系,一键自动下载、检出、打补丁、配置、编译、启动
- 允许自定义本地配置,可同时进行升级,下述配置文件仅限本地可用
-
boards/<BOARD>/Makefile.{init,beforeconfig,config,afterconfig,fini}.private
-
-
大幅共享和删减代码,核心代码仅 2607 行
环境准备
在非 Ubuntu 平台,请提前自行安装好 docker,可参考 Docker for Mac、Docker 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 kernel
$ 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。
-
host & guest 双侧免 root 使用。
更多信息:
-
项目首页
-
Homepage: http://tinylab.org/linux-lab
-
-
项目社群
-
联系微信:tinylab
-
联系公号:泰晓科技
-
Linux Lab 用户交流群
-
Linux Lab 开发者
-
-
项目仓库
-
项目插件
-
CSKY(中天微):https://gitee.com/tinylab/csky
-
LOONGSON(龙芯):https://gitee.com/loongsonlab/loongson
-
-
演示视频
-
基本用法:Linux 快速上手
-
学习汇编:AT&T 汇编上手
-
学习Uboot:Uboot 快速上手
-
RISC-V开发:使用 riscv32/virt 和 riscv64/virt 开发板
-
特性开发:一条命令测试和体验某个内核特性
-
模块开发:一条命令配置、编译和测试内核模块
-
内核调试:所有板子的调试功能自测视频
-
内核测试:所有当前预置板子的启动过程自测视频
-
该项目完全开源,以 GPL 2.0 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。