内容简介:Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单! 可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编...
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 笔修改,其中主要更新如下:
- 携手龙芯实验室,以独立插件的方式新增龙芯全面支持。
- 携手码云,在国内新增 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:
$ 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 具备如下特性:
- 支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
- 支持 7 大处理器架构(X86、ARM、MIPS、PPC、Csky,Risc-V, Loongson),其中 Loongson 和 Csky 为国产处理器。
- 支持 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)。
- 支持 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。
更多信息
- 项目首页
- Homepage: http://tinylab.org/linux-lab
- 项目仓库
- 项目插件
- C-sky(中天微):https://gitee.com/tinylab/csky
- Loongson(龙芯):https://gitee.com/loongsonlab/loongson
- 演示视频
- 基本用法: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 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。
联系我们
(扫码联系项目作者)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- “统治”移动处理器市场的Arm为何明年Q1才发布AI处理器?
- AMD 7nm EPYC处理器亮相:性能提升一倍,世界最强X86处理器
- 36.Django内容处理器
- Bean的后置处理器
- 处理器是如何调度进程的?
- JVM进阶 -- 浅谈注解处理器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。