专栏首页IT大咖说Linux Lab v0.5 正式发布,功能强大,用法简单

Linux Lab v0.5 正式发布,功能强大,用法简单

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

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

Linux Lab Boot example

版本更新

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 kongSignaltaotierenWuZhangjin

本次主要更新如下:

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 的主机环境,欢迎参考,安装完以后也欢迎登记上来。

  • 成功运行过 Linux 的操作系统和 Docker 版本列表

极速体验

该版本依赖最新的 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 具备如下特性:

  1. 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
  2. 支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。
  3. 支持 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)。
  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 使用。

来源:

https://www.toutiao.com/i6874180888666571272/

本文分享自微信公众号 - IT大咖说(itdakashuo)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这个程序员实在是太帅了

    提起 Linus Torvalds 大家的第一反应是怎样的?是严苛刻薄,还是神级伟大,亦或是孤傲清高?但是他也是“Linux之父”。二十五年来,Linus To...

    IT大咖说
  • 程序员漫画几则

    IT大咖说
  • 腾讯DevOps体系之研发管理那些事儿

    内容来源:2018 年 5 月 05 日,腾讯研发管理部CODE平台产品负责人孙晨星在“2018 DevOpsDays Beijing”进行《腾讯DevOps体...

    IT大咖说
  • 怒怼黑客,Linux 下的7个开源安全工具

    https://www.tecmint.com/best-antivirus-programs-for-linux/

    CSDN技术头条
  • 快速学习Git-Git简介

    同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了...

    cwl_java
  • HTML转PDF字体的坑,搞了半天

    itext提供可HTML转PDF的工具包,但是在中文字体时也许会遇到意想不到的问题。特别宋体对应的粗体。

    java乐园
  • 使用spark与MySQL进行数据交互的方法

    在项目中,遇到一个场景是,需要从Hive数据仓库中拉取数据,进行过滤、裁剪或者聚合之后生成中间结果导入MySQL。 对于这样一个极其普通的离线计算场景,有多种技...

    用户1225216
  • Python基础-变量

    变量是存储在内存中的值,这就意味着创建一个变量就会在内存中开辟一块空间来存储这个变量,在python中,变量可以指定不同的数据类型,这些类型可以存储整数,小数,...

    py3study
  • 砥砺前行,收获成长——腾讯犀牛鸟精英人才培养计划迎来首届“毕业生”

    2017年,腾讯首次发布面向在校学生的“犀牛鸟精英人才培养计划”,旨在借助腾讯平台与资源,携手高校打造面向学生的校企联合培养方案,培养学生勇于尝试、创新开拓的精...

    腾讯高校合作
  • CVE-2019-0232 远程代码执行漏洞-复现

    该漏洞是由于Tomcat CGI将命令行参数传递给Windows程序的方式存在错误,使得CGIServlet被命令注入影响。

    周俊辉

扫码关注云+社区

领取腾讯云代金券

http://www.vxiaotou.com