Linux Lab v0.3-rc1 发布,新增 5 本知名 Linux 图书所用内核支持
Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单!
可以用它来高效地学习处理器架构、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 的第 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 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
快速使用某个指定板子上某个 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 具备如下特性:
-
支持 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
-
-
项目社群
-
联系公号:泰晓科技
-
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 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache DolphinScheduler 1.2.0 发布,分布式可视化工作流任务调度系统
DolphinScheduler Release 1.2.0 Apache DolphinScheduler在2019年8月底获得全票通过成功进入Apache孵化器后,经过长达4个月后,终于迎来了自己的第一个Apache版本 - 1.2.0,本次发版包括以下重要更新 新特性: 支持PostgreSql、Mysql等多种数据库,添加Postgre性能监控 添加Flink和Http任务类型支持 添加跨项目依赖支持 添加流程定义导出和导入功能 添加CI自动编译检查 完善代码注释 为Common模块添加java doc文档 增强: 将batchDelete流程定义/实例移到事务的外部 Dockerfile优化 改变mysql-connector-java作用域为test,规避mysql license问题 管理员和创建者可以删除定时 删除告警组需要删除用户与告警组的关系 删除租户时删除检查资源 在删除流程实例之前检查其状态 添加license和notice文件 BUG修复: 为scan待执行任务添加事务支持 修复ZKWorkerClient不关闭PathChildrenCache 数据类型转换...
- 下一篇
imi v1.0.25 发布,推出 JWT 组件一把梭
imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。 在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。 imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。 首创毫秒级的注解及代码热更新重启,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。 与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。 官方网站:https://www.imiphp.com/ 码云:https://gitee.com/yurunsoft/IMI Github:https://github.com/Yurunsoft/imi imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日 每周唠叨 本周推...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程