内容简介:Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单! 可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编...
Linux Lab 是一套用于 Linux 内核学习、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单!
可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、 Shell 编程等。
Linux Lab Boot example
已经跃跃欲试了?!快来看看 Linux Lab:难以抗拒的十大理由,本次更新又增加了一大理由,快看下文!
如果您想学习 Linux 0.11 内核和 Linux X86 汇编语言,也可以访问另外两套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。
版本更新
Linux Lab 先后于 6 月 29 日和 10 月 30 日发布了 v0.1 和 v0.2 正式版。
本次发布 v0.3 的第 1 个候选版本:v0.3 rc1,随同发布的还有 Cloud Lab v0.1 的第 3 个候选版:v0.1 rc3。
Linux Lab v0.2 首次被 某线上课程 全程采用,本次 v0.3 rc1 一方面完善了课程学员反馈的问题,另外一方面新增了对多本经典 Linux 图书所采用的 Linux 内核提供了支持。
相关改动合计超过 100 笔:
$ cd cloud-lab/
git log --pretty=oneline v0.1-rc2..HEAD | wc -l
9
$ cd labs/linux-lab
$ git log --pretty=oneline v0.2..HEAD | wc -l
98
本次新增对 5 本图书所用 Linux 内核的支持,结合之前的一本,合计 6 本图书汇总如下:
图书(缩写) | 内核版本 | 板子 |
---|---|---|
LDD3 | v2.6.10 | i386/pc |
ULK3 | v2.6.11.12 | i386/pc |
PLKA | v2.6.24.7 | i386/pc |
LKD3 | v2.6.34.9 | i386/pc |
L4D | v4.0,v3.16 | arm/vexpress-a9 |
RLK4.0 | v4.0 | i386/pc, arm/vexpress-a9, aarch64/virt |
为避免广告嫌疑,书名略掉,请大家自行根据内核版本号匹配。另外,为便利大家阅读 Linux 图书,Linux Lab 将持续开展“致敬经典”计划,继续新增对其他知名 Linux 图书所用 Linux 内核版本的支持。
下面是一些其他重要变更:
-
README: 新增大量 FAQ,包括各种安装、使用过程中的常见问题
-
Makefile: 新增 kernel-clone 目标,允许更高效的添加新的 Linux 版本
-
Makefile: 允许根据内核版本更灵活地配置 GCC、ROOTFS、GIT 仓库等,配置后能按需自动化切换、下载和转换
-
bsp: 新增多个历史版本 Linux 内核支持,从 v2.6.34 到 v2.6.10,用法完全兼容其他版本
-
buildroot: 允许配置 linux headers 为本地 linux-stable,提升构建速度
环境准备
在非 Ubuntu 平台,请提前自行安装好 docker,可参考 Docker for Mac、Docker for Windows。
如果是老版本的 Windows,可以用 Docker Toolbox,也可以通过 Virtualbox 或 Vmware 自行安装 Ubuntu。
极速体验
该版本依赖最新的 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
快速使用某个指定板子上某个 Linux 内核版本,以 LDD3 的 Linux v2.6.10 为例:
$ make B=i386/pc
$ make board-config LINUX=v2.6.10
$ make boot
如果要快速新增一个新的 Linux 内核,一般可以先查看已经支持的列表,选择一款临近的,再 clone:
$ make boot LINUX=?
Makefile:262: *** Supported LINUX list: v2.6.10 v2.6.11.12 v2.6.12.6 v2.6.21.5 v2.6.24.7 v2.6.34.9 v2.6.35.14 v2.6.36 v4.6.7 v5.1 v5.2. Stop.
$ make kernel-clone LINUX=v5.2 LINUX_NEW=5.4
$ make kernel-checkout
$ make kernel-defconfig
$ make kernel-menuconfig
$ make kernel
$ make boot
以上从 v5.2 复制一个 v5.4,直接复用 v5.2 的内核配置,然后再用 make kernel-menuconfig
调整配置,如果编译过程不顺利,需要在 make kernel
时进入 linux-stable 调整代码,提交到本地,并生成 patch,再用 make kernel-savepatch
保存即可,以后就可以在 checkout 之后用 make kernel-patch
。
详细用法请参考 README.md,码云上的在线版本有内容目录,更方便阅读。
关键特性
Linux Lab 具备如下特性:
-
支持 3 大操作系统(Windows、MacOS、Linux),可以轻松在这三大操作系统下使用。
-
支持 7+ 大处理器架构(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 为国产处理器。
-
支持 15+ 款开发板(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)。
-
支持 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。
-
host & guest 双侧免 root 使用。
更多信息:
-
项目首页
-
Homepage: http://tinylab.org/linux-lab
-
-
项目社群
-
联系公号:泰晓科技
-
Linux Lab 用户交流群
-
Linux Lab 开发者
-
-
项目仓库
-
项目插件
-
CSKY(中天微):https://gitee.com/tinylab/csky
-
LOONGSON(龙芯):https://gitee.com/loongsonlab/loongson
-
-
演示视频
-
基本用法:Linux 快速上手
-
学习汇编:AT&T 汇编上手
-
学习Uboot:Uboot 快速上手
-
RISC-V开发:使用 riscv32/virt 和 riscv64/virt 开发板
-
特性开发:一条命令测试和体验某个内核特性
-
模块开发:一条命令配置、编译和测试内核模块
-
内核调试:所有板子的调试功能自测视频
-
内核测试:所有当前预置板子的启动过程自测视频
-
该项目完全开源,以 GPL 2.0 协议发布,欢迎所有高校、企业、个人用户使用或者参与开发。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 扒网站工具 v2.2 发布:所见网站,皆可为我所用!
- 扒网站工具发布 v2.1 版本,所见网站,皆可为我所用!
- Windows Server 2016——让世界上最大的云数据中心背后的创新为你所用
- 【威胁通告】红帽JBoss Fuse及JBoss A-MQ所用Karaf远程代码执行漏洞
- 内核必须懂(六): 使用kgdb调试内核
- Linux内核如何替换内核函数并调用原始函数
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Algorithm Design Manual
Steve S. Skiena / Springer / 1998-8-1 / GBP 53.91
Contents u Techniques u Introduction to Algorithms u Correctness and Efficiency u Correctness u Efficiency u Expressing Algorithms u Keeping Score u The RAM Model of Computatio......一起来看看 《The Algorithm Design Manual》 这本书的介绍吧!