泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

基于泰晓RISC-V实验箱的Linux公开课
请稍侯

Linux Lab 发布 v1.0 正式版,Linux 内核开发从未像今天这般简单

Wu Zhangjin 创作于 2022/06/16

By Falcon of TinyLab.org Jun 16, 2022

Linux Lab Shell

简介

自 Linux Lab v0.9 发布以后,又经过了 5 个月的漫长迭代,Linux Lab 终于迎来了 v1.0 正式版,同时也迎来了 Cloud Lab v0.80-rc1 版本,两者需同步升级配合使用。

更新情况

Linux Lab v1.0 升级了部分内核版本到 v5.17,修复了多处内存编译 Bug,优化了 make 命令自动补全功能,并重点完善和新增了 examples,同时更新文档对齐到最新的功能。

  • v1.0 rc3
    • 全面整理 Assembly 实验案例
    • 删除多余的 do target,由其他更简洁的用法替代
    • 允许更简单编译内核目标文件,例如:make kernel arch/riscv/kernel/sbi.o
    • 修复 make 自动命令补全,允许通过 tab 按键快速补全常用命令
    • 完善 make patch 命令
    • 更新文档和 License 信息
  • v1.0 rc2
    • 升级 RISC-V 支持,qemu 升级到 v6.0.0,内核升级到 v5.17
    • 升级 arm/vexpress-a9 的默认内核到 v5.17
    • 规范 build 输出路径,跟 boards/ 下的路径保持一致,方便更快找到目标文件
    • 完善 docker 文件系统运行和导出支持
    • 新增 Python 实验案例
    • 完善 Assembly 和 Shell 实验案例
  • v1.0 rc1
    • 增强 test 功能,允许在 testcase 中执行多个命令
    • 修复 test 中的内核参数传递问题,确保兼容 uboot 和 kernel
    • 允许灵活增加 app 的子 make 目标,例如 make root busybox-menuconfig
    • 修复两笔内存编译的问题

项目感想

历史回顾

Linux Lab v1.0 是一个很重要的里程碑,不仅意味着其核心功能已经非常稳定和完善,也意味着我们的工作重心将发生调整。在 v1.0 之后,我们将把重点调整到 examples 的开发上,将通过 examples 帮助更多的同学更高效地学习、研究和开发操作系统以及周边的技术。

刚刚查看了第一笔提交记录:

Author: Wu Zhangjin wuzhangjin@gmail.com Date: Mon Jul 11 09:06:04 2016 +0800

Init linux-lab

Aims to build a Qemu-based Linux Lab to easier the Linux Learning and newfeatures development.

Signed-off-by: Wu Zhangjin wuzhangjin@gmail.com

非常令人感慨,六年前肯定想不到,今天的 Linux Lab v1.0 已经支持了市面上所有的主流处理器架构,支持了 20 多款开发板,支持了从 v0.11 到 v5.x 的几乎所有 Linux 内核版本,加 Cloud Lab 在内,一共有 3294 笔变更,每一笔背后都是煞费苦心的设计和思考以及大量繁琐的验证和测试。

$ cd cloud-lab/labs/linux-lab
$ git log --oneline --root | wc -l
2152

$ cd ../../
$ git log --oneline --root | wc -l
1142

我想说,这份努力是值得的,作为计算机软件中偏底层最接近硬件最复杂的操作系统,向来是相对比较难上手的,最大的门槛是重复又依赖繁多的环境构建,但是有了 Linux Lab,继而有了 Linux Lab Disk,我们可以在 1 分钟内进入实验环境,在 10 分钟内编译并启动 Linux 内核,Linux 内核与嵌入式 Linux 开发从未像今天这般简单。

期待我们的工作对操作系统的人才培养、技术孵化、开发效率等方面都有所助力!

感谢致谢

感谢六年来,所有参与、支持和鼓励过这个项目的同学们!没有你们的支持,这个项目也许早就夭折了;没有你们的支持,我们不会有动力不厌其烦地去完善和迭代,那些 Bug Report,Patch,赞誉背后的支持让所有的开发不再孤立无援,而是温暖充盈。

也要特别感谢这个项目用到的所有开源项目,包括但是不限于:Ubuntu, Linux, Docker, Qemu, Buildroot, U-Boot, Busybox, Make, webvnc 等等,没有这些工作,就不可能有 Linux Lab。

同时感谢项目的托管平台:Github 和 Gitee,也要感谢曾经赞助过这个项目的企业、研究所和个人,包括购买过 Linux Lab Disk 以及社区所有其他付费服务的所有同学们!

另外,这六年来,家里的夫人和小伙伴也给了莫大的支持,这个项目牺牲了很多本应该陪伴他们的时间。随着 v1.0 版本的发布,希望后面能够有更多的时间陪伴他们。

商业化尝试

过去数年来,包括社区和项目在内,所有的开发和答疑都是公益性质的,是个人投入资金和时间在运营,虽然有获得了一些赞助,但是杯水车薪。

为了项目的持续健康发展,在经过艰难的考虑后,我们做了一些商业化尝试,希望大家能够多多支持。

  • Cloud Lab 和 Linux Lab 的著作权属于作者创建的 儒码科技 ,项目采用双 Licenses,非商业用户采用 GPL v2 协议,商业用户需要获得儒码科技商业授权。
  • 之前维护的开发板和内核版本数量巨大,答疑和维护已经令人精疲力尽,所以开发板部分,后续仅默认开放 arm/vexpress-a9,其他开发板将暂停开放并可根据需要在 社区开源小店 付费购买服务。也欢迎其他企业、机构或个人联系赞助某个开发板或处理器架构,获得相应的资源后,社区将考虑重新开放对应的开发板或处理器架构。
  • 社区也研发了免安装即插即跑的 Linux Lab Disk,也叫泰晓 Linux 实验盘,插上即可开展 Linux 内核与嵌入式 Linux 开发,容量覆盖 32G-2T,支持智能启动、透明压缩、时区兼容、出厂恢复等新创特性,用户可根据需要在 社区开源小店 选购。欢迎高校、企业和机构联系团购,泰晓 Linux 实验盘可用于高校计算机实验室、企业内部培训等。

Linux Lab Disk

另外,作者以及相关团队也依托 儒码科技 提供操作系统的技术研发、咨询与培训服务,欢迎有需要的企业联系。

  • 已经邀请了社区的多位专家老师在 泰晓学院 开设了包括 ELF、Rust、软件逆向、Livepatch 在内的一些课程,后续将不断完善覆盖,确保更体系化。
  • 另有知识付费频道 Linux 知识星球,至今已创建并维护了 1162 天,累计 1000 多条知识点,20 多位嘉宾老师,400 多位付费用户。

再者,社区本身也在其他机构的赞助下开展了其它的开源活动,比如 开源之夏2022RISC-V Linux 内核剖析,这些活动提供了实习和兼职岗位,向在校学生和在职工程师开放。这些活动除了提供开源协作与贡献的机会,也实实在在为参与开源的学生和工程师们提供一定的经济支持。

欢迎有需要的同学联系,联系方式:

  • 微信:tinylab
  • 邮箱:contact@tinylab.org

更多资料



Read Related:

Read Latest: