Linux Lab 发布 v0.2-rc1,以实际行动支持国产龙芯处理器

2019-07-23 18:42发布

"

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

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

如果您想学习 Linux 0.11 内核和 Linux X86 汇编语言,也可以访问另外两套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。

版本更新

继 6 月 28 日发布 v0.1 之后,Linux Lab 终于迎来 v0.2 的第一个 rc 版本:v0.2-rc1,该版本除了修复部分功能完善文档外,新增了对国产龙芯处理器的全面支持;为所有架构添加了外部交叉编译器支持;还促成了码云新增三大资源(qemu、uboot 和 buildroot)的每日更新镜像。

该版本相比 v0.1 有 98 笔修改,其中主要更新如下:

  • 携手龙芯实验室,以独立插件的方式新增龙芯全面支持。
  • 插件地址:https://gitee.com/loongsonlab/loongson。
  • 促成龙芯开放全系的 Qemu 模拟器,方便各大操作系统、工具、应用厂商进行龙芯软件开发。
  • 完美兼容 Linux Lab 各类操作,可进行龙芯 Qemu、Linux 和 Pmon bootloader 的开发。
  • 分别为龙芯三大系列新增了 ls1b, ls2k, ls3a7a 三个实例。其中 ls1b 直接支持 v5.2 内核,后两个目前支持 v3.10,即将支持 v5.2。
  • 携手码云,在国内新增 Qemu、U-boot 和 Buildroot 的每日镜像
  • Qemu 镜像:https://gitee.com/mirrors/qemu
  • U-boot 镜像:https://gitee.com/mirrors/u-boot
  • Buildroot 镜像:https://gitee.com/mirrors/buildroot
  • Linux Lab 即日起可同步使用最新 Qemu、U-boot 和 Buildroot,方便大家做开发和 Upstream。
  • 为所有 8 大平台(含32/64位)新增外部交叉编译器支持,每个平台有 2 个以上交叉编译器可选
  • 更丰富的交叉编译器选择和配置,make gcc-list, make gcc CCORI=internal
  • 更灵活的交叉编译器下载和切换,make gcc, make gcc-switch CCORI=bootlin
  • 正携手国防科大镜像站、兰大镜像站建设交叉编译器的国内镜像,欢迎打卡:mirrorrequest,“工具链是软件工业的基础设施”,做国内镜像是利国利民的好事,其他有资源的高校,欢迎跟进并联系本人(见文末微信)。
  • 修复部分功能并完善使用文档
  • 文档新增关于 poweroff、toolchain、vim/bash 快捷键、modules、fullscreen、qemu 等内容
  • 新增 CTRL+Home/End 切换 vim 多窗口,规避 CTRL+w 按键与浏览器关闭事件冲突的问题
  • 其他小调整
  • 新增 U-boot 对最新版本编译器的支持
  • 新增 gdb-multiarch 调试支持,避免为每个平台安装一个 gdb
  • 新增 features 管理:nfsroot, initrd
  • 新增 nfsroot 对多网卡平台的支持
  • 新增类比 scripts/extract-ikconfig 的小工具:tools/kernel/extract-ikconfig
  • 新增 Qemu、Buildroot、U-boot 和 Linux 的板级独立子仓库支持,更方便做 porting 和 upstream
  • 新增 LD_LIBRARY_PATH 搜索路径的自动配置
  • 新增一个 C 语言的实例:examples/c/exeshare(如何制作一个可以执行的动态链接库)
  • 完善对有无 olddefconfig 编译目标的判断
  • 修复内核配置完,编译时又重启配置的问题
  • 新增 v5.0 rt 特性的实验支持,即将增加 v5.2 rt 支持
  • 新增 XXX_LIST,提示并检查某板子各组件的当前支持情况

极速体验

在非 Ubuntu 平台,请提前自行安装好 docker:

  1. $ git clone https://gitee.com/tinylab/cloud-lab.git
  2. $ cd cloud-lab
  3. $ tools/docker/run linux-lab

进去以后,打开控制台,敲入如下命令即可启动一个板子:

  1. $ make boot

极速体验新增龙芯系列处理器的 Qemu + Linux:

  1. $ pushd boards
  2. $ git clone https://gitee.com/loongsonlab/loongson
  3. $ popd
  4. $ make list plugin=loongson
  5. [ loongson/ls1b ]:
  6. ARCH = mips
  7. CPU ?= mips32r2
  8. LINUX ?= v5.2
  9. ROOTDEV_LIST ?= /dev/ram0 /dev/nfs
  10. ROOTDEV ?= /dev/ram0
  11. [ loongson/ls2k ]:
  12. ARCH = mips
  13. CPU ?= mips64r2
  14. LINUX ?= loongnix-release-1903
  15. ROOTDEV_LIST := /dev/sda /dev/ram0 /dev/nfs
  16. ROOTDEV ?= /dev/ram0
  17. [ loongson/ls3a7a ]:
  18. ARCH = mips
  19. CPU ?= mips64r2
  20. LINUX ?= loongnix-release-1903
  21. ROOTDEV_LIST ?= /dev/null /dev/nfs
  22. ROOTDEV ?= /dev/null
  23. $ make BOARD=ls2k
  24. $ make boot // 串口启动,使用 initrd
  25. $ make boot G=1 // 图形启动,使用 initrd
  26. $ make boot ROOTDEV=/dev/nfs // 串口启动,使用 nfsroot

关键特性

Linux Lab 具备如下特性:

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

更多信息

  1. 项目首页
  • Homepage: http://tinylab.org/linux-lab
  1. 项目仓库
  • Gitee: https://gitee.com/tinylab/linux-lab
  • Github: https://github.com/tinyclub/linux-lab
  1. 项目插件
  • C-sky(中天微):https://gitee.com/tinylab/csky
  • Loongson(龙芯):https://gitee.com/loongsonlab/loongson
  1. 演示视频
  • 基本用法:Linux 快速上手
  • 学习汇编:AT&T 汇编上手
  • 学习Uboot:Uboot 快速上手
  • ARM 开发:在 arm/vexpress-a9 上运行 Ubuntu 18.04 LTS
  • Risc-V开发:使用 riscv32/virt 和 riscv64/virt 开发板
  • 龙芯开发:在 Linux Lab 上使用龙芯 ls2k 平台
  • 特性开发:一条命令测试和体验某个内核特性
  • 模块开发:一条命令配置、编译和测试内核模块
  • 内核调试:所有板子的调试功能自测视频
  • 内核测试:所有当前预置板子的启动过程自测视频

该项目完全开源,以 GPL 2.0 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。

原文:https://www.oschina.net/news/108450/linux-lab-0-2-rc1-released

"
文章来源: https://www.toutiao.com/group/6716658276638917131/