Linux Lab is a real-time laboratory for learning Linux kernel, development and testing, speed can be set up and to use, powerful, it is easy to use!
You can use it to learn efficiently processor architecture, Linux kernel, embedded Linux, C programming language, compilation of Linux, Shell programming.
Linux Lab Boot example
It has been eager? ! Take a look:
If you want to learn Linux 0.11 kernel and Linux X86 assembly language, you can also visit another two Lab, namely Linux 0.11 Lab and CS630 Qemu Lab .
new version update
Linux Lab has on June 29 and October 30 released the v0.1 and v0.2 official version.
In the past few months, Linux Lab has released three consecutive candidate of version v0.3, this release v0.3 official version .
The ~ have v0.3-rc3 changes between v0.3 119 pens, 366 pen change between entire v0.2 ~ v0.3, there are a number of contributors submitted Pull Request period, the project involved the testing and trial and made recommendations for improvement, thank you very much participation and contribution:
$ git log --format='%aN' v0.2..HEAD | sort -u
LastRitter
unicornx
Wu Zhangjin
$ git log --oneline v0.2..HEAD | wc -l
366
The main updates are as follows:
-
Unify all components of the common user interface more convenient memory
-
Added
make cmd [kernel|uboot|root|qemu] [option=value]
operation -
For example:
make defconfig kernel
equivalent tomake kernel-defconfig
-
More commands include download, checkout, patch, defconfig, menuconfig, build, boot, test, debug
-
-
Further optimize the download experience of a large warehouse
-
By
git init + fetch
substitutiongit clone
-
-
By adding simplified command execution and automatic dependency greatly enhance the efficiency of the experiment
-
make boot build=kernel
A command to complete the download, version detection, configure, compile and start the whole process
-
-
Added this well-known Linux v2.6.10 for multiple books, v2.6.11, v2.6.12, v2.6.14, v2.6.21, v2.6.24 and other historical version of the kernel
-
Difficulties at home idle classic Linux books might turn out to accompany all join grams
-
-
Released the first Chinese version of the User's Manual
-
Re-sort the document layout and translated into Chinese
-
Preparing the Environment
In the non-Ubuntu platform, pre-installed on their own good docker, refer to Docker for Mac , Docker for Windows .
If an older version of Windows, you can use Docker Toolbox , also you can install Ubuntu by Virtualbox or Vmware.
Domestic students please be sure to use domestic Docker mirror service, otherwise you can not download the image properly, recommended reference Ali cloud mirroring configuration file .
Speed experience
The latest version relies Cloud Lab and docker image:
$ git clone https://gitee.com/tinylab/cloud-lab.git
$ cd cloud-lab
$ tools/docker/pull linux-lab # 确保更新 docker 镜像
$ tools/docker/run linux-lab
Has been downloaded, please update to the latest version and restart the Linux Lab:
$ cd cloud-lab && git pull
$ tools/docker/update linux-lab
$ tools/docker/rerun linux-lab
Into the future, open the console, type the following command to start a board (automatically download pre-compiled version):
$ make boot
A key to compile (automatically download the source code, version detection, patch, configure, compile):
$ make boot build=kernel
Key Features
Linux Lab has the following characteristics:
-
Support the three major operating systems (Windows, MacOS, Linux), can easily be used in these three operating systems.
-
Support 7+ large processor architecture (X86, ARM, MIPS, PPC, CSKY, RISC-V, LOONGSON), which LOONGSON and CSKY for domestic processors.
-
Support 15+ paragraph development board (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).
-
Supports five landing approach (docker, ssh, vnc, webssh, webvnc), can be accessed locally or remotely accessible.
-
Five integrated components (Qemu, U-boot, Buildroot, Linux, Toolchain), has a pre-compiled version.
-
Built five major platforms, 32-bit and 64-bit total of 10 Hello World assembly language routines, see
examples/assembly
. -
You can learn processor instruction set, Qemu, Shell, Assembler, C, Linux kernel, embedded Linux.
-
Support Debugging and Testing.
-
host & guest bilateral free root use.
More information :
-
Project Home
-
Homepage: http://tinylab.org/linux-lab
-
-
Project Community
-
Contact Micro letter: tinylab
-
Public Contact Number: Thai Xiao Technology
-
Linux Lab users exchange group
-
Linux Lab Developer
-
-
Warehouse Project
-
Project Plug
-
CSKY (transit micro): https://gitee.com/tinylab/csky
-
LOONGSON (Godson): https://gitee.com/loongsonlab/loongson
-
-
Demo Video
-
Basic usage: Linux Quick Start
-
Learning compilation: AT & T assembler get started
-
Learning Uboot: Uboot Quick Start
-
ARM Development: run on the arm / vexpress-a9 Ubuntu 18.04 LTS
-
RISC-V Development: Use riscv32 / virt and riscv64 / virt Boards
-
Godson Development: Use in Godson ls2k platform on Linux Lab
-
Feature development: a command to test and experience a kernel features
-
Module Development: a command to configure, compile, and test kernel modules
-
Kernel Debugging: All board debug function self-test video
-
Core Test: All the current preset board to start the process of self-test video
-
The project is fully open to GPL 2.0 release agreement is open to all universities, enterprises and individual users to use or participate in the development.
Feel free to contact through micro-signal (tinylab) We, the contact may be invited into the Linux Lab users exchange group and Linux Lab developer group , will also receive a Linux Lab installation documentation and presentation slides Linux Lab Assembly.