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.
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
Following the July 23 release v0.2 rc1 later, Linux Lab released today: v0.2-RC2 , in addition to repair some of the features this version perfect document, but added experimental support for real-time Linux v5.2, adds a docker image tags acquisition tool, a new board-level configuration tools, and allows you to set the number of parallel compiler threads.
This version v0.2 rc1 compared to only 14 pen modify, update mainly as follows:
- New experimental support for real-time Linux v5.2
- Add
feature/linux/rt/v5.2/
, may, like other features, a command to turn on the feature:make f f=rt
the command will be marked with patch and complete kernel configuration. Currently onlyi386/pc
the verification can be started normally. - Reference may add other versions of rt patch.
- Add
- Added a docker image tags acquisition tools
tools/docker/tags.sh
The experimental environment is mainly used in the subsequent Linux Lab offered upgrades.
- Added board-level configuration tool
tools/board/config.sh
Allows simple board configuration updates, without having to manually modify the configuration file:make board-config LINUX=v5.2
.
- Godson Godson new plug-education R & D support
- Loongson plug-ins to add
loongson/ls232
support.
- Loongson plug-ins to add
- It allows you to set the number of parallel compiler threads
- By
make JOBS=n
the number of threads parallel compiler specified, the default is set to the number of processors
- By
- Repair and improve some functions using the document
- New noVNC occasionally Desktop does not respond to the approach
- New plug-in support Godson information
- Other minor adjustments
examples/c/hello
, The new-Wall -Werror
mandatory static checking.- New gdb-multiarch debugging support in the docker mirror, avoid installing a gdb for each platform
- The introduction of board-level repair after the introduction of customized warehouse source path error problem
- All kernel always use the new version
scripts/config
, the old version to fix the problem
Speed experience
In the non-Ubuntu platform, pre-installed on their own good docker:
$ git clone https://gitee.com/tinylab/cloud-lab.git $ cd cloud-lab $ tools/docker/run linux-lab
Such as local've downloaded Linux Lab, we recommended back cloud-lab
catalog upgrade docker image and reboot Linux Lab:
$ tools/docker/pull linux-lab $ tools/docker/rerun linux-lab
Into the future, open the console, type the following command to start a board:
$ make boot
Speed experience Qemu + RealTime Linux v5.2:
$ make BOARD=i386/pc $ make kernel-download $ make kernel-patch $ make kernel-defconfig // Add real time linux patch and enable it $ make f f=rt $ make kernel-olddefconfig $ make kernel $ make boot
Key Features
Linux Lab has the following characteristics:
- Support the three major operating systems (Windows, MacOS, Linux), it 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.
More information :
- Project Home
- Homepage: http://tinylab.org/linux-lab
- Warehouse Project
- Project Plug
- C-sky (micro transit): 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.