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 June 28 release v0.1 later, Linux Lab finally usher in the first version v0.2 of rc: v0.2-RC1 , this version in addition to repair some of the features perfect document, adds support for domestic Godson processor comprehensive support; adding an external cross-compiler support for all architectures; also contributed to the new code three cloud resources (qemu, uboot and buildroot) daily update image.
The modified version v0.1 compared pen 98, wherein the main updated as follows:
- Godson hand in laboratories to separate plug-ins The new Godson full support.
- Plug Address: https://gitee.com/loongsonlab/loongson .
- Godson open the entire department contributed to the Qemu emulator to facilitate the major operating systems, tools, applications software development vendors Godson.
- Linux Lab perfectly compatible with all types of operations can be carried out Godson Qemu, the development of Linux and Pmon bootloader.
- Godson three series were added ls1b , ls2k , ls3a7a three instances. Which ls1b direct support v5.2 kernel, after the two currently supports v3.10, coming soon v5.2.
- Hand in hand code cloud in the domestic new daily mirror Qemu, U-boot and the Buildroot
- Qemu image: https://gitee.com/mirrors/qemu
- U-boot image: https://gitee.com/mirrors/u-boot
- Buildroot Mirror: https://gitee.com/mirrors/buildroot
- Linux Lab are now available sync with the latest Qemu, U-boot and Buildroot, do we facilitate the development and Upstream.
- For all eight major platforms (including 32/64) add external cross compiler support, each platform has two or more optional cross compiler
- Richer cross compiler options and configurations
make gcc-list
,make gcc CCORI=internal
- More flexible and download cross compiler switch
make gcc
,make gcc-switch CCORI=bootlin
- National Defense Science and mirror sites working together, Atlanta Mirror Mirror station construction cross country compiler, please punch: mirrorrequest , "is the tool chain infrastructure software industry," do benefits the country's domestic image is a good thing, there are other resources universities, welcomed the follow-up and contact me (see end of text micro-channel).
- Richer cross compiler options and configurations
- Repair and improve some functions using the document
- What's New document on poweroff, toolchain, vim / bash shortcuts, modules, fullscreen, qemu, etc.
- New CTRL + Home / End vim to switch multiple windows, avoid CTRL + w button and the browser closing event of conflict issues
- Other minor adjustments
- New U-boot support for the latest versions of the compiler
- New gdb-multiarch debugging support, avoid installing a gdb for each platform
- New management features: nfsroot, initrd
- Nfsroot added support for multiple card platforms
- New analogy
scripts/extract-ikconfig
gadget:tools/kernel/extract-ikconfig
- New Qemu, Buildroot, U-boot and Linux board support independent sub-warehouses, and more convenient to do the porting upstream
- New
LD_LIBRARY_PATH
auto-configure the search path - Add a C language example:
examples/c/exeshare
(how to create a dynamic link library that can be performed) - Sound judgment on whether olddefconfig build targets
- Repair finished configuring the kernel, compile time and restart configuration problems
- New v5.0 rt characteristics of experimental support, is about to increase support for v5.2 rt
- New
XXX_LIST
, suggesting a board and inspect each component of the current support case
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
Into the future, open the console, type the following command to start a board:
$ make boot
Speed experience new Godson series processors Qemu + Linux:
$ pushd boards
$ git clone https://gitee.com/loongsonlab/loongson
$ popd
$ make list plugin=loongson
[ loongson/ls1b ]:
ARCH = mips
CPU ?= mips32r2
LINUX ?= v5.2
ROOTDEV_LIST ?= /dev/ram0 /dev/nfs
ROOTDEV ?= /dev/ram0
[ loongson/ls2k ]:
ARCH = mips
CPU ?= mips64r2
LINUX ?= loongnix-release-1903
ROOTDEV_LIST := /dev/sda /dev/ram0 /dev/nfs
ROOTDEV ?= /dev/ram0
[ loongson/ls3a7a ]:
ARCH = mips
CPU ?= mips64r2
LINUX ?= loongnix-release-1903
ROOTDEV_LIST ?= /dev/null /dev/nfs
ROOTDEV ?= /dev/null
$ make BOARD=ls2k
$ make boot // 串口启动,使用 initrd
$ make boot G=1 // 图形启动,使用 initrd
$ make boot ROOTDEV=/dev/nfs // 串口启动,使用 nfsroot
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 seven major processor architecture (X86, ARM, MIPS, PPC, Csky, Risc-V, Loongson), which Loongson and Csky for domestic processors.
- Support 14+ 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 / 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.
contact us
( Scan code to contact the project author )