本次發布 Linux Lab v0.7 正式版,開發並製作 Linux Lab Disk,支持透明增容、零損編譯和即插即用

2021-12-17 泰曉科技

Linux Lab 是一套用於 Linux 內核學習、開發和測試的即時實驗室,可以極速搭建和使用,功能強大,用法簡單!

Linux Lab Logo

可以用它來高效地學習處理器架構、Linux 內核、嵌入式 Linux 系統、C 語言編程、Linux 彙編、Shell 編程等。

Linux Lab Boot example

已經躍躍欲試了?!快來看看:

在 Windows 下即插即用 Linux Lab Disk

如果您想學習 Linux 0.11 內核和 Linux X86 彙編語言,也可以直接把 Linux 0.11 Lab 和 CS630 Qemu Lab 克隆到 Linux Lab 下使用。

Linux Lab 實驗盤直接內置了上述 3 套實驗環境。

Linux Lab Disk Demo

版本更新

Linux Lab 於 2 月初發布了 v0.6 正式版本,同步發布了 Cloud Lab v0.4。

經過 3 個多月的開發,本次發布 v0.7,新增 「Linux Lab 實驗盤」 功能,支持透明增容、零損編譯和即插即用,同步發布 Cloud Lab v0.5,並升級 Docker 鏡像。

Linux Lab 實驗盤(Linux Lab Disk)進一步降低了 Linux Lab 的準入門檻,允許用戶在 1 分鐘內開展 Linux 內核與嵌入式 Linux 系統開發。

其帶來的三大特性更是進一步完善使用體驗:

透明增容:32G 可以透明地當 64G 使用;64G 可以透明地當 128G 使用;128G 可以透明地當 256G 使用。零損編譯:允許使用內存作為編譯的臨時存儲空間,不僅提升編譯速度,而且幾乎消除對磁碟的擦寫。即插即用:免安裝,不僅可以在開機上電過程中即插即用(支持X86臺式機、筆記本和macBook),也可以直接在 Windows、Linux 和 macOS 下當雙系統即插即用。

本次推出了 618 活動,「1G」 可用容量低至 1¥,購買入口在:泰曉科技自營店,也可直接檢索 「Linux Lab 系統盤」 找到。

本次相比 v0.6 版本,合計 112 筆變更:

// linux lab
$ git log --pretty=oneline v0.6..v0.7 | wc -l
29

// cloud lab
$ git log --pretty=oneline v0.4..v0.5 | wc -l
83

本次主要更新如下:

修復 sd boot,增補缺失的 dosfstools使用 truncate 取代 dd 創建磁碟鏡像文件,提升創建速度為 source, checkout, patch 等目標新增 make 錯誤處理新增桌面快捷方式對 Ubuntu 20.04 的支持修復 Windows 和 macOS 系統上的 webvnc 連接異常

環境準備

在非 Ubuntu 平臺,請提前自行安裝好 docker,可參考 Docker for Mac、Docker for Windows。

如果是老版本的 Windows,可以用 Docker Toolbox,也可以通過 Virtualbox 或 Vmware 自行安裝 Ubuntu。

國內的同學請務必使用國內的 Docker 鏡像服務,否則無法正常下載鏡像,推薦參考 阿里雲鏡像配置文檔。

下面的連結是大家成功運行過 Linux Lab 的主機環境,歡迎參考,安裝完以後也歡迎登記上來。

成功運行過 Linux 的作業系統和 Docker 版本列表

極速體驗

該版本依賴最新的 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
$ pushd labs/linux-lab && git pull && popd
$ tools/docker/rerun linux-lab

進去以後,打開控制臺,敲入如下命令即可啟動一個虛擬開發板(自動下載預編譯的版本):

$ make boot

一鍵編譯和啟動(自動下載源碼、檢出版本、打補丁、配置、編譯):

$ make boot BUILD=kernel

默認使用的是 arm/vexpress-a9,如果要使用本次新增的真實開發板,在購買並連接串口和網口到開發主機後,可以簡單切換:

$ make BOARD=arm/ebf-imx6ull
$ make login

真實開發板與虛擬開發板用法有細微差異,其詳細用法請參考:boards/arm/ebf-imx6ull/README.md。

關鍵特性

Linux Lab 具備如下特性:

支持 3 大作業系統(Windows、MacOS、Linux),可以輕鬆在這三大作業系統下使用。支持 7+ 大處理器架構(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 為國產處理器。支持 ~20 款開發板(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, arm/ebf-imx6ull)。支持 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。host & guest 雙側免 root 使用。

更多信息

Homepage: http://tinylab.org/linux-labGitee: https://gitee.com/tinylab/linux-labGithub:  https://github.com/tinyclub/linux-lab基於 Linux Lab 進行龍芯 Linux 內核開發在 Windows 下即插即用 Linux Lab DiskARM 開發:在 arm/vexpress-a9 上運行 Ubuntu 18.04 LTSRISC-V開發:使用 riscv32/virt 和 riscv64/virt 開發板龍芯開發:在 Linux Lab 上使用龍芯 ls2k 平臺

相關焦點

  • Linux Lab 發布 v0.6,正式支持真實硬體開發板
    pdfs/linux-lab-loongson-manual-v0.2.pdf如果您想學習 Linux 0.11 內核和 Linux X86 彙編語言,也可以訪問另外兩套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。
  • Linux Lab 發布 v0.4,突破 1000 Stars
    快來看看:http://tinylab.org/pdfs/linux-lab-v0.4-manual-zh.pdfhttp://tinylab.org/pdfs/linux-lab-v0.4-manual-en.pdfhttp://tinylab.org/why-linux-labhttp://tinylab.org/why-linux-lab-v2
  • Linux Lab 發布 v0.6-rc1,完善新鏡像
    快來看看:tinylab.org/pdfs/linux-lab-loongson-manual-v0.1.pdftinylab.org/pdfs/linux-lab-v0.6-rc1-manual-zh.pdftinylab.org/pdfs/linux-lab-v0.6-rc1-manual-en.pdftinylab.org/why-linux-labtinylab.org
  • Linux Lab v0.5 正式發布,功能強大,用法簡單
    Linux Lab Boot example版本更新Linux Lab 於 6 月底發布了 v0.5 的第一個候選版本:v0.5-rc1,經過三個月的開發和迭代,在連續發布了 rc2, rc3 後,本次發布 v0.5 正式版本,同步發布配套的 Lab 管理工具 Cloud Lab v0.3 和首個 Linux Lab 視頻公開課,更多用法將逐步以視頻講解+演示的方式發布
  • Linux Lab 發布 v0.6-rc2,新增首塊真實硬體開發板
    快來看看:tinylab.org/pdfs/linux-lab-loongson-manual-v0.1.pdftinylab.org/pdfs/linux-lab-v0.6-rc2-manual-zh.pdftinylab.org/pdfs/linux-lab-v0.6-rc2-manual-en.pdftinylab.org/why-linux-labtinylab.org
  • Linux Lab:無法拒絕的十大理由
    經過 3 年多的開發與迭代,Linux Lab 已經發布了 v0.2 版,其易用性和功能逐漸強大,非常推薦各位 Linux 內核和嵌入式 Linux 開發者嘗試。下面列舉了十大使用 Linux Lab 的理由。
  • Linux Lab 真板開發日誌(3):macOS 環境之 SD 卡、無線網卡、虛擬串口
    準備工作該開發板支持 SD 卡和 Wi-Fi,但不同時支持兩者,而筆者剛好有一個很久之前買的 Linux 免驅 mini USB 無線網卡:EDUP EP-N8508GS,本文主要做的嘗試就是:編譯更新 zImage, dtb 和 modulesEDUP EP-N8508GS 當作 SoftAP 熱點燒錄 Debian 鏡像至 SD 卡
  • Linux Lab 真板開發日誌(2):macOS 和 Windows 之無串口開發
    broadcast 192.168.1.255        inet 192.168.7.2  netmask 255.255.255.252  broadcast 192.168.7.3在 Linux Lab 下無串口開發真板識別到 IP 地址就好辦了,跟著文檔 操作就好。
  • Linux 內核學習:環境搭建和內核編譯
    linux發行版有成百上千種,每個發行版都有不同的特點,確實讓人難於取捨。我先後試裝過Gentoo,Arch,debian,fedora。發行版的選擇見仁見智,我不敢說哪個發行版好,哪個不好,每個發行版都有它的擁躉。這裡 建議在選擇時考慮幾個問題:設計哲學,社區支持和包管理器。
  • 製作一個超級精簡的 Docker 鏡像只需7步
    lab-1:初始化構建 Redis 鏡像lab-2:優化基礎鏡像lab-3:串聯 Dockerfile 指令lab-4:壓縮你的鏡像lab-5:使用最精簡的 base imagelab-6:提取動態連結的 .so 文件lab-7:為 Go 應用構建精簡鏡像總結介紹
  • Linux Lite 5.0 發布,帶有 UEFI 支持和其他重大改進 | Linux 中國
    Linux Lite 是適合 Windows 用戶的最佳 Linux 發行版之一。
  • [更正] 如何在 RHEL 上設置 Linux RAID 1
    編譯自: http://www.linuxroutes.com/linux-raid-1/ 作者: Manmohan Mirkar譯者
  • 泰曉資訊 : 2020 年 7 月 第 二 期
    Linux Lab 發布 v0.5 rc1,與龍芯零距離Linux Lab 於 5 月底發布了 v0.4 正式版 (https://gitee.com/tinylab/linux-lab/tree/v0.4/),本次發布 v0.5 的第一個候選版本:v0.5-rc1 (https://gitee.com/tinylab/linux-lab/tree/v0.5-rc1/
  • SOCFPGA開發之linux開發環境搭建和編譯鏡像
    請檢查在生成sd卡鏡像時,請檢查preloader,即u-boot-spl*.*文件是否為bin文件,如果是,則需要使用mkpimage為該文件增加頭信息。可以簡單判斷,增加了頭的該文件為256KB或64KB。記錄3,編譯preloader和uboot可以在windows下,使用bsp-editor進行編譯preloader和uboot。
  • 開源新聞速遞:Linux 內核 4.5 結束支持,發布了該系列最後一個版本
    此外,還發布了 4.4.13 LTS 、Linux Kernel 4.6.2 、Linux Kernel 3.14.72 LTS。新聞摘要NetOS 8.0 的三個版本同時發布,NetOS, NetOS 企業版, 和 NetOS 教育版。NetOS 8.0 使用了 Black Lab Linux 的大部分最新的技術。
  • Linux驅動05 | 內核編譯
    當前使用了一個發布版本的內核,如當前的內核為linux-3.4.39-gec,那麼這個時候開發板的內核也得是linux-3.4.39-gec,若版本不一致,內核模塊無法進行加載。二、電腦的開發環境虛擬機:VMWare12.0以上作業系統:Ubuntu 16.04晶片源碼包:6818_kernel_wen.tar.gz,包含交叉編譯工具、kernel源碼、鏡像製作工具。三、源碼編譯過程對於源碼包的編譯,切換到root用戶進行操作。
  • 一次搞定 Arm Linux 交叉編譯
    當然,Arm64 為了保證前向兼容,提供了一個 32 位的兼容模式,所以我們用 arm-linux-gnueabi-gcc 編譯的應用程式也是可以直接在Arm64 的系統上運行的,但是 Linux Kernel 和 U-Boot 就不行,除非你提前把 CPU 切換到 32 位模式。
  • CentOS Linux 6.8正式發布
    CentOS開發人員兼維護者Johnny Hughes於5月25號宣布了CentOS Linux 6.8作業系統已經正式發布的消息
  • Linux利器:QEMU!用它模擬開發板能替代真開發板?
    這裡我們使用 vexpress-a9 這款開發板。vexpress-a9 是 Arm 公司自己設計的一款 4 核 Cortex-A9 開發板,U-Boot、Linux Kernel 和 QEMU 對這款開發板都做了完整的支持。
  • 在 RK3399 上部署最新的 Linux 5.4 和 U-Boot v2020 .01
    一般大家拿到一塊開發板,上面搭載的都是晶片原廠開發的 u-boot 和 linux kernel,我們稱之為vendor 的 u-boot 和 kernel,這些內核一般是基於 linux 官方的某個分支修改的,比如 i.MX6 目前用的內核很多是 Linux 4.1,rk3288/rk3399  目前用的內核大部分是 Linux 4.4,晶片原廠為了系統的穩定和易於維護,一般會在這個特定的版本上做長期開發