Linux Lab 發布 v0.4 rc3,新增 ARM64 Uboot 支持

2020-12-17 開源中國

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

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

Linux Lab Boot example

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

如果您想學習 Linux 0.11 內核和 Linux X86 彙編語言,也可以訪問另外兩套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。這兩套實驗代碼也可以直接下載到 Linux Lab 中開展實驗。

項目動態

Linux Lab 已經報名參加 「暑期2020」 開源軟體活動,歡迎大家踴躍參與,參與方式有:

  1. 提交項目功能和特性需求

  2. 領取某個需求並完成開發,現有項目需求見:「暑期2020」項目提案

  3. 擔任某個需求的 Mentor

詳情請諮詢 Linux Lab 項目接口人的聯繫微信:tinylab。

版本更新

Linux Lab 於 5 月 1 日發布了 v0.4 rc2,本次發布 v0.4 的第 3 個候選版本:v0.4-rc3,一同發布的還有 Cloud Lab 的 v0.2。

本次合計 79 筆變更:

// cloud lab$ git log --oneline v0.2-rc3..v0.2 | wc -l38// linux lab$ git log --oneline v0.4-rc2..v0.4-rc3 | wc -l41

本次關鍵更新如下:

環境準備

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

如果是 Windows 系統,由於 Windows 對 Docker 的支持限制還很多,建議直接通過 Virtualbox 或 Vmware 自行安裝 Ubuntu。

國內的同學請務必使用國內的 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$ tools/docker/update linux-lab$ tools/docker/rerun linux-lab

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

$ make boot

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

$ make boot BUILD=kernel

關鍵特性

Linux Lab 具備如下特性:

  1. 支持 3 大作業系統(Windows、MacOS、Linux),可以輕鬆在這三大作業系統下使用。

  2. 支持 7+ 大處理器架構(X86、ARM、MIPS、PPC、CSKY,RISC-V, LOONGSON),其中 LOONGSON 和 CSKY 為國產處理器。

  3. 支持 16+ 款開發板(i386/pc, x86_64/pc, arm/versatilepb, arm/vexpress-a9, arm/mcimx6ul, ppc/g3beige, mips/malta, aarch64/virt, aarch64/raspi3, riscv32/virt, riscv64/virt, csky/virt, loongson/ls1b, loongson/ls2k, loongson/ls232, loongson/ls3a7a)。

  4. 支持 5 種登陸方式(bash, 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。

  9. host & guest 雙側免 root 使用。

更多信息

  1. 項目首頁

  2. 項目社群

    • 聯繫微信:tinylab

    • 聯繫公號:泰曉科技

    • Linux Lab 用戶交流群

    • Linux Lab 開發者

  3. 項目倉庫

  4. 項目插件

  5. 演示視頻

該項目完全開源,以 GPL 2.0 協議發布,歡迎所有高校、企業、個人用戶使用或者參與開發。

歡迎通過微信號(tinylab)聯繫我們,聯繫後可以獲邀進 Linux Lab 用戶交流群Linux Lab 開發者群,還將獲贈 Linux Lab 安裝文檔和 Linux Lab 大會演講幻燈片。

相關焦點

  • Linux Lab 發布 v0.6-rc2,新增首塊真實硬體開發板
    快來看看:如果您想學習 Linux 0.11 內核和 Linux X86 彙編語言,也可以訪問另外兩套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。版本更新Linux Lab 於去年 10 月底發布了 v0.6-rc1 正式版本,同步發布 Cloud Lab v0.4-rc1。
  • Linux Lab 發布 v0.3,簡化操作接口並發布首份中文手冊
    快來看看:如果您想學習 Linux 0.11 內核和 Linux X86 彙編語言,也可以訪問另外兩套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。版本更新Linux Lab 先後於 6 月 29 日和 10 月 30 日發布了 v0.1 和 v0.2 正式版。
  • Linux下diff的操作詳解
    -4.19-rc3_lyn linux-4.19-rc3 > linux-4.19-rc3_lyn.patch這個是我經常使用的命令,用來比較生成我修改後的代碼的補丁包,最後用patch命令打補丁到需要使用的內核源碼中去2.在git中也會有diff可以查看兩次版本的差異git diff 04120e84525eca1c590d30b84ce7463b9e8a1497
  • 一次搞定 Arm Linux 交叉編譯
    _arm-linux-gnueabihf.tar.xzwget https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchains/gcc-linaro-6.4.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz下載了兩個,arm 針對是是 32 位的, aarch64
  • xmake v2.3.8 發布, 新增 Intel C++/Fortran 編譯器支持
    在這個新版本中,我們對 Intel 系列的 C++ 和 Fortran 編譯器做了全平臺支持,並且改進了上個版本新加的 Wasm 工具鏈支持,同時對 Qt SDK for Wasm 也進行了支持。另外,我們還將 luajit 升級到最新的 v2.1 版本,在跨平臺方面,xmake 也做了很大的完善,增加了 mips64 架構的運行支持。
  • Linux 5.11-rc3發布 開發者和測試人員重返工作崗位
    由於假期的緣故,Linux 5.11-rc2很小,這被Linus Torvalds嘲笑為開發人員紛紛回家吃得太多, 但隨著開發者和測試人員重返工作崗位,剛剛發布的Linux 5.11-rc3版本內容要豐富許多。Torvalds評價稱最終的rc3版本改進規模在歷來的rc3過程中是偏大的,雖然不是創紀錄的,但肯定比一般的大。
  • Linux 對 ARM 的支持一團糟
    當硬體製造商正在談論基於ARM晶片的伺服器時, 支持ARM的軟體還要繼續努力開發以跟上發展步伐。
  • Cortex-A9 uboot啟動代碼詳解
    我們在前面的arm系列課程,已經講解了arm的架構、彙編指令、異常、常用外設的控制器驅動,那麼我們已經具備開發arm系列產品的基本技能。概念U-Boot 是一個主要用於嵌入式系統的引導加載程序,可以支持多種不同的計算機系統結構,包括PPC、ARM、AVR32、MIPS、x86、68k、Nios與MicroBlaze。這也是一套在GNU通用公共許可證之下發布的自由軟體。
  • arm-linux-ld命令 ld連結腳本
    我們看它是如何編譯的,注意我們這裡使用的不是arm-linux-gcc而是arm-elf-gcc,二者之間沒有什麼比較大的區別,arm-linux-gcc可能包含更多的庫文件,在命令行的編譯上面是沒有區別。
  • 「正點原子Linux連載」第三十七章Linux內核移植
    NXP官方原版Linux源碼已經放到了開發板光碟中,路徑為:1、例程源碼->4、NXP官方原版Uboot和Linux->linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2。
  • MLSBS v0.21RC,Linux 一鍵運維腳本(新增腳本加密)
    of "My linux's bash script"!「MLSBS」是「My linux's bash script」的縮寫linux運維技術人員日常需要寫一堆腳本來簡化工作量。「MLSBS」的目的就是把我日常在linux下的工作通過腳本整合到一個項目中,需要的時候幾個點擊就可以完成任務了。
  • Alpine Linux 3.10.0 發布,面向安全的輕量級 Linux 發行版
    Alpine Linux 3.10.0 已發布,這也是 v3.10 穩定系列的首個版本。
  • Node v0.12.3 穩定版發布
    Node v0.12.3 穩定版發布,該版本主要改進內容包括:V8: update to 3.28.71.19
  • Kali Linux 2020.4發布:ZSH設為默認Shell;進一步支持ARM
    打開APP Kali Linux 2020.4發布:ZSH設為默認Shell;進一步支持ARM 開源中國 發表於 2020-12-11 16:23:25
  • MinDoc v0.10 發布,輕量級文檔在線管理系統
    內置項目管理,用戶管理,權限管理等功能,支持Markdown和富文本兩種編輯器,能夠滿足大部分中小團隊的文檔管理需求。MinDoc 接口文檔管理系統 v0.10 版本更新日誌:新增Markdown壓縮包項目導入新增超級管理員端設置項目信息新增不同項目的文檔標識可重複新增設置第一篇文章為項目默認打開的頁面新增備案信息選項新增項目分享開關新增MinDoc部署到二級子目錄新增Markdown
  • Manjaro Linux 17.1-rc3,基於 Arch Linux 的作業系統
    Manjaro Linux 17.1-rc3 發布了。開發團隊的工作重心主要放在 Calamares,Xorg-Server,QT 5.10 和內核上。
  • ...增強對蘋果M1晶片等64位ARM支持|蘋果m1晶片|arm|linux|curl|...
    Rust官網於昨天2020年最後一天發布了新版本1.49以告別跌宕起伏的2020年,值得注意的是,這個廣受歡迎的程式語言的最新版本正在提升對64位的ARM Linux的支持狀態。Rust 1.49已將其對64位ARM Linux的支持提升為Tier-1目標,這是最高級別的支持保證,與Rust的x86_64支持類似。
  • gcc、arm-linux-gcc和arm-elf-gcc的關係?
    從gcc源目錄下的config/arm中的t-linux和t-arm-elf中可以看出,不同的--target也影響gcc連接C語言庫,t-linux(--target=arm-linux)默認使用Glibc,-arm-elf(--target=arm-elf)使用- Dinhibit_libc禁止連接Glibc,這時我們就可以使用newlib等其他C語言庫編譯GCC工具鏈。
  • ARM Linux根文件系統Root Filesystem的製作
    說Busybox和arm-linux-gcc有兼容性問題,不過我覺得那是比較低版本的時代問題了,我用Busybox 1.8.2和arm-linux-gcc 3.4.1/3.3.2都可以。解壓縮以後找到Makefile裡面的ARCH和CROSS_COMPILE,改成:ARCH ?= armCROSS_COMPILE ?
  • 嵌入式ARM-Linux平臺上的編譯、配置和運行使用
    /configure配置編譯環境;執行make進行編譯export ARCH=armexport CROSS_COMPILE=arm-linux-gnueabi-.cp /usr/arm-linux-gnueabi/lib/libnl.so.1.1.4 /home/export/rootfs/lib/cp /usr/arm-linux-gnueabi/lib/libcrypto.so.1.0.0 /home/export/rootfs/lib/cp /usr/arm-linux-gnueabi/lib/libssl.so