首页 体育 教育 财经 社会 娱乐 军事 国内 科技 互联网 房产 国际 女人 汽车 游戏

十大使用 Linux Lab 的理由

2020-01-08

Linux Lab 是一套用于 Linux 内核学习、开发和测验的即时试验室,能够极速建立和运用,功用强壮,用法简略!

Linux Lab Boot example

Linux Lab Boot example

Linux Lab Boot example

经过 3 年多的开发与迭代,Linux Lab 现已发布了 v0.2 版,其易用性和功用逐步强壮,十分引荐各位 Linux 内核和嵌入式 Linux 开发者测验。

下面列举了十大运用 Linux Lab 的理由。

无论是新人仍是有经历的内行,建立 Linux 的学习和试验环境都是比较费时吃力的,一方面要装置根底体系,一方面要下载各种穿插编译东西,有时候还要去下载最新的源代码。在国内这个大的局域网下,要整完整套环境,少则几天,多则数周,最重要的一般还得屡次重复去建立,不但费时还很繁琐,体系一改变,又得重复做。

Linux Lab 把这几个作业简化成了三条指令,数十分钟就能够履行完,而且每次都能够拿到体会共同的环境:

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

现在 Linux Lab 现已在 github 和 gitee 上收成累计 500 多个 Stars,并有数百人的用户群,按 500 人,每人节约 4 周即 30 天大略预算,Linux Lab 现已累计节约了 500 * 30 天 = 15000 天 = 41 年。

截止到现在,Linux Lab 现已支撑世界上最干流和盛行的 5 大处理器架构,也支撑国产的 CSKY 和 Loongson,支撑 15 款相应的开发板。

按人均一块板子,每块开发板 ¥300 大略核算,现已为咱们节约了 500 * ¥300 = ¥150000 = ¥15 万。

关于个人而言,有了 Linux Lab,能够自在运用现有的 7 大架构,15 款开发板中的恣意一款,累积节约 15 * ¥300 = ¥4500,而且这些开发板能够重复运用,永久不会坏,而且还有更多板子在继续增加中,用户也能够自己轻松扩展新板子。

$ make list-short[ aarch64/raspi3 ]:      ARCH     = arm64      LINUX   ?= v5.1[ aarch64/virt ]:      ARCH     = arm64      LINUX   ?= v5.1[ arm/versatilepb ]:      ARCH     = arm      LINUX   ?= v5.1[ arm/vexpress-a9 ]:      ARCH     = arm      LINUX   ?= v5.1[ i386/pc ]:      ARCH     = x86      LINUX   ?= v5.1[ mipsel/malta ]:      ARCH     = mips      LINUX   ?= v5.1[ ppc/g3beige ]:      ARCH     = powerpc      LINUX   ?= v5.1[ riscv32/virt ]:      ARCH     = riscv      LINUX   ?= v5.0.13[ riscv64/virt ]:      ARCH     = riscv      LINUX   ?= v5.1[ x86_64/pc ]:      ARCH     = x86      LINUX   ?= v5.1[ csky/virt ]:      ARCH     = csky      LINUX   ?= v4.9.56[ loongson/ls1b ]:      ARCH     = mips      LINUX   ?= v5.2[ loongson/ls232 ]:      ARCH     = mips      LINUX   ?= v2.6.32-r190726[ loongson/ls2k ]:      ARCH     = mips      LINUX   ?= loongnix-release-1903[ loongson/ls3a7a ]:      ARCH     = mips      LINUX   ?= loongnix-release-1903

更为重要的是,有些开发板在市面上或许根本就买不到,要不不开卖了,要不没当地买。

以往要研讨 Linux,最惧怕的是慢得让人发疯的洲际网络,不知道从哪里才干找到靠谱可用的编译器,抑或是某个版别内核 ok,别的一个版别又不可,或许某个指令又停工了,或许是装备不对。

Linux Lab 不只供给了共同的环境,还供给了验证好的编译器、Qemu 发动脚本、甚至有预编译好的内核和文件体系映像包以及配套的装备文件,而且 Linux Lab 把一切依靠的资源尽量都搬迁到了咱们的 局域网 内。

简直一切的动作都有预先验证过的简略接口,而且都经过了较为充沛的测验和验证。能极大程度地下降不确定性带来的惊惧和徘徊,削减苦恼。

简直一切的板子都增加了串口、网络、LCD 驱动支撑,也增加了从 Ramdisk、NFS、磁盘 加载文件体系功用,还增加了简练的调试和测验功用。用户能够在这个很高的起点上再依据需求做进一步的客制化,十分省心省力。

Linux Lab 的初衷是学习 Linux 内核,可是开展至今,不只能够用来学习 Linux 内核,还能够用来学习 C、汇编、Shell、处理器架构、U-boot、Qemu 等,而且还能够做进一步的扩展。

别的,作为 Linux Lab 的根底设施,Cloud Lab 供给了更大扩展性,现在不只有 Linux 0.11 Lab, CS630 Qemu Lab 这样的 Lab 实例,而且有 Markdown Lab, RT-Thread Lab 这样的 Lab 实例,还能够相似增加更多的专属 Lab 环境,有巨大的可扩展才能。

Linux Lab 把各种常见操作笼统为简略易记的接口,把背面繁琐的细节和费时的作业悉数躲藏而且优化好,用户只需要记住简略的指令即可。而且这些指令习惯现已支撑的 Linux、U-boot、Buildroot 和 Qemu。

Linux Lab 本身被拆分红三大部分:试验环境、试验代码和环境管理,而试验代码又经过精心肠规划,防止臃肿。

Linux Lab 与其他 Lab 实例同享环境管理代码:Cloud Lab,仅需关怀本身的试验环境和试验代码,而试验代码部分又尽或许地只保存板级公共代码,板子特定的代码不只能够作为独立的库房发布,而且能够独立运用。所以,Linux Lab 不只结构明晰,而且代码细巧。

各板级或架构有独立的库房,而且有独立的 Qemu 发动脚本、内核映像、文件体系映像以及相应装备文件,能够独立运用和参阅:

Linux Lab 不只供给了本地的 VNC/SSH 拜访方法,而且供给了长途的 WebVNC 和 WebSSH 拜访方法,而且供给了内网穿透的功用,能够相似 teamviewer 那样从外网进入局域网。所以,理论上,建立完 Linux Lab,再合作现代路由器或许云服务器,就能够做到,随时随地拜访共同的开发环境。

$ tools/docker/release linux-labLOG: Current Lab is linux-labLab: linux-lab-60029, User: ubuntu  * VNC : http://localhost:6080/?u=7827c9 p=chln3p  * VNC   : http://localhost:6080/?r=7827c93tsrkd  * SSH    : http://localhost:4433/?ssh=ssh://ubuntu:tffsm7@172.17.0.3:22LOG: Released to: /media/falcon/develop/cloud-lab/releasings/index.htmlLOG: Labs online: http://localhost:6080/labs/index.html

简略地,如果在一台云服务器上运转 Linux Lab,只需要把外网可拜访的服务 IP 地址或许域名写入到 Cloud Lab 根目录下的 .host_name 即可取得适宜的 URL 地址:

$ cd /path/to/cloud-lab$ echo example.com .host_name$ tools/docker/release linux-labLOG: Current Lab is linux-labLab: linux-lab-60029, User: ubuntu  * VNC : http://example.com:6080/?u=7827c9 p=chln3p  * VNC   : http://example.com:6080/?r=7827c93tsrkd  * SSH    : http://example.com:4433/?ssh=ssh://ubuntu:tffsm7@172.17.0.3:22LOG: Released to: /media/falcon/develop/cloud-lab/releasings/index.htmlLOG: Labs online: http://example.com:6080/labs/index.html

Linux Lab 根据 Docker,只需装置有 Docker,就能够直接在 Linux、Mac OSX 和 Windows 三大体系下运用,而且运用体会简直共同。

如果是老版别的 Windows,能够用 Docker Toolbox,也能够经过 Virtualbox 或 Vmware 自行装置 Ubuntu。

能够自在切换 恣意 内核版别,从 2.6 到 5.4,现已验证的版别从前期的 2.6.35 到 5.2,都供给有相应的装备文件和预编译好的映像:

$ ls boards/*/*/bsp/kernel/ | grep -v riscv | sort -uv2.6.35v2.6.35.14v2.6.36v2.6.37v3.10v3.18.39v4.19v4.5.5v4.6.7v5.0.10v5.0.13v5.0.21v5.1v5.2

结合 Linux 0.11 Lab,还能够研讨 上古时代 的 0.11 等老内核版别。

Linux Lab 供给了如下教育辅佐功用,适合在高校、训练组织、在线课程等场景下运用:

现已刻不容缓了吗?快经过微信加 tinylab 为老友,申请进 Linux Lab 用户群 或 Linux Lab 开发群 吧。

接下来,看看同学们在 arm64 aarch64/virt 板子上运转 5.1 Linux 的小视频吧:



热门文章

随机推荐

推荐文章