lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAGXxSxU=O10jQC2ZCtQoFS2k402REp+JqGnDMdtAAGyEi2rVwQ@mail.gmail.com>
Date:   Fri, 8 Dec 2017 21:07:53 +0800
From:   cee1 <fykcee1@...il.com>
To:     automated-testing@...toproject.org
Cc:     Wu Zhangjin <wuzhangjin@...il.com>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [RFC] Linux Lab: lightweight board farm for daily kernel
 development and testing

Hi Zhangjin,

Cool~

With Docker all necessary bits are encapsulated in images, which saves
lots of time of setting up a development environment.

The online "web console", http://tinylab.cloud:6080/labs/, makes it
further more convenient.


2017-12-08 20:29 GMT+08:00 Wu Zhangjin <wuzhangjin@...il.com>:
>
> Hi all,
>
> I'm pleasure to share my latest open source work, it is "Linux Lab"
> (https://github.com/tinyclub/linux-lab): a docker and qemu based "board
> farm" for instant Linux kernel development and testing.
>
> It has following features:
>
> 1. Docker based, available for Linux, Windows and MacOSX, with Docker CE or
> Docker Toolbox
> 2. Docker image, with pre-installed (cross) compilers, debuggers, emulators
> (qemu-system-xxx) for 4 main architectures (X86, PowerPC, MIPS and ARM)
> 3. Qemu based, hundreds of virtual boards available
> 4. Qemu boot script abstracted, with options configurable via command line
> or config file
> 5. Instant boot, with prebuilt images, including kernel/dtb/uboot/qemu and
> minimal rootfs
> 6. Actions abstracted, such as download, checkout, patch, defconfig,
> menuconfig, build, save, boot, debug and test
> 7. Highly Reproducible, with pre-install toolchains, prebuilt images and
> tested configurations
> 8. Highly Scalable, 6 virtual boards have been added for 4 main
> architectures, new boards can be added as builtin boards or standalone git
> submodules
> 9. already Supported packages, kernel (linux-stable), root (buildroot),
> uboot and emulator(qemu)
> 10. noVNC and Gateone integrated, available from anywhere if network
> reachable from local or remote
>
> Let's introduce some basic usage:
>
> * Take a look at the default board (vexpress-a9)
>
>     $ make
>     [ vexpress-a9 ]:
>       ARCH     = arm
>       XARCH    = $(ARCH)
>       CPU     ?= cortex-a9
>       MEM     ?= 128M
>       UBOOT   ?= v2015.07
>       LINUX   ?= v4.6.7
>       BUILDROOT?= 2016.05
>       ...
>       BOOTDEV ?= flash
>       PFLASH_SIZE ?= 64
>       PFLASH_BS   ?= 512
>       NETDEV  ?= lan9118
>       SERIAL  ?= ttyAMA0
>       ROOTDEV ?= /dev/ram0
>       FSTYPE  ?= ext2
>       ...
>
>
> * Fast boot the default board with prebuilt images
>
>     $ make boot
>     ...
>     Welcome to Linux Lab
>     linux-lab login: root
>     # uname -r
>     4.6.7+
>     # uname -a
>     Linux linux-lab 4.6.7+ #1 SMP Sun Dec 3 18:47:31 UTC 2017 armv7l
> GNU/Linux
>
> * List all boards
>
>     $ make list
>     [ g3beige ]:
>       ARCH     = powerpc
>       CPU     ?= generic
>       LINUX   ?= v4.6.7
>       ROOTDEV ?= /dev/ram0
>     [ malta ]:
>       ARCH     = mips
>       CPU     ?= mips32r2
>       LINUX   ?= v2.6.36
>       ROOTDEV ?= /dev/ram0
>     [ pc ]:
>       ARCH     = x86
>       CPU     ?= i686
>       LINUX   ?= v4.6.7
>       ROOTDEV ?= /dev/ram0
>     [ versatilepb ]:
>       ARCH     = arm
>       CPU     ?= arm926t
>       LINUX   ?= v4.6.7
>       ROOTDEV ?= /dev/ram0
>     [ vexpress-a9 ]:
>       ARCH     = arm
>       CPU     ?= cortex-a9
>       LINUX   ?= v4.6.7
>       ROOTDEV ?= /dev/ram0
>     [ virt ]:
>       ARCH     = arm64
>       CPU     ?= cortex-a57
>       LINUX   ?= v4.5.5
>       ROOTDE ?= /dev/ram0
>
> * Choose a board and boot, e.g. malta
>
>     $ make BOARD=malta
>     $ make boot
>
> * Boot with nfsroot
>
>     $ make boot ROOTDEV=/dev/nfs
>
> * Boot with/without Uboot (only for versatilepb and vexpress-a9 currently)
>
>     By default, it is enabled if uboot supported in boards Makefile:
> boards/<BOARD>/Makefile.
>
>     $ make boot U=0
>
> * Boot uboot with tftp, flash, or sdcard
>
>     $ make boot BOOTDEV=tftp
>
> * Boot with graphic
>
>     By default, no graphic:
>
>     $ make BOARD=pc
>     $ make boot G=1
>
> * Test kernel, include download, checkout, patch, defconfig, menuconfig and
> build
>
>     $ make test TEST=kernel-full
>
>     It equals:
>
>     $ make kernel-download
>     $ make kernel-checkout
>     $ make kernel-patch
>     $ make kernel-defconfig
>     $ make kernel-build
>     $ make boot
>
> * Test kernel and root
>
>    root is supported by buildroot, it also support the above actions.
>
>     $ make test TEST=kernel-full,root-full
>
> * Test a kernel feature in a specified kernel version on a specified board
>
>     $ make test FEATURE=kft LINUX=v2.6.36 BOARD=malta TEST=prepare
>
> * Test kernel modules
>
>     $ make test modules=ldt
>
> * Debug kernel (start qemu with gdbstub and running gdb with default
> .gdbinit)
>
>     $ make debug
>
> More usage please refer to the README.md of this project:
>
>     https://github.com/tinyclub/linux-lab/blob/master/README.md
>
> Let's take a look at the demonstration:
>
> * Showterm demonstration
>     http://showterm.io/6fb264246580281d372c6
>
> * Showdesk demonstration
>     http://showdesk.io/7977891c1d24e38dffbea1b8550ffbb8/?f=1
>
> * Try it online (only one account, update in 30 minutes)
>     http://tinylab.cloud:6080/labs/
>
> This project is still in development stage, it is not yet for product level.
>
> Enjoy and Welcome your feedback.
>
> Thanks & BR,
> Falcon
>



-- 
Regards,

- cee1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ