内容简介:Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单! 可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编...
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,经过三个月的开发和迭代,在连续发布了 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 Mac、Docker 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 具备如下特性:
-
支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
-
支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。
-
支持 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)。
-
支持 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 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。
欢迎通过微信号(tinylab)联系我们,联系后可以获邀进 Linux Lab 用户交流群 和 Linux Lab 开发者群,还将获赠 Linux Lab 安装文档和 Linux Lab 大会演讲幻灯片。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。