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

泰晓Linux知识星球:1300+知识点,520+用户
请稍侯

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

Wu Zhangjin 创作于 2019/07/23

By Falcon of TinyLab.org Jul 22, 2019

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

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

如果您想学习 Linux 0.11 内核和 Linux X86 汇编语言,也可以访问另外两套 Lab,即 Linux 0.11 LabCS630 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 的每日镜像
  • 为所有 8 大平台(含32/64位)新增外部交叉编译器支持,每个平台有 2 个以上交叉编译器可选
    • 更丰富的交叉编译器选择和配置,make gcc-list, make gcc CCORI=internal
    • 更灵活的交叉编译器下载和切换,make gcc, make gcc-switch CCORI=bootlin
    • 正携手兰大镜像站建设交叉编译器的国内镜像,“工具链是软件工业的基础设施”,做国内镜像是利国利民的好事,其他有资源的高校,欢迎跟进并联系本人(见文末微信)。
  • 修复部分功能并完善使用文档
    • 文档新增关于 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:

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

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

$ make boot

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

$ pushd boards
$ git clone https://gitee.com/loongsonlab/loongson
$ popd

$ make list plugin=loongson
[ loongson/ls1b ]:
      ARCH     = mips
      CPU     ?= mips32r2
      LINUX   ?= v5.2
      ROOTDEV_LIST ?= /dev/ram0 /dev/nfs
      ROOTDEV ?= /dev/ram0
[ loongson/ls2k ]:
      ARCH     = mips
      CPU     ?= mips64r2
      LINUX   ?= loongnix-release-1903
      ROOTDEV_LIST := /dev/sda /dev/ram0 /dev/nfs
      ROOTDEV ?= /dev/ram0
[ loongson/ls3a7a ]:
      ARCH     = mips
      CPU     ?= mips64r2
      LINUX   ?= loongnix-release-1903
      ROOTDEV_LIST ?= /dev/null /dev/nfs
      ROOTDEV ?= /dev/null

 $ make BOARD=ls2k
 $ make boot                  // 串口启动,使用 initrd
 $ make boot G=1              // 图形启动,使用 initrd
 $ 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. 项目首页
  2. 项目仓库
  3. 项目插件
  4. 演示视频

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



Read Album:

Read Related:

Read Latest: