Linux Lab 是一套基于 Docker/Qemu 的极速 Linux 内核学习、开发和测试环境,也可以用于嵌入式 Linux 系统开发。
一、基本功能
基于 Docker,支持 Windows、Linux 和 Mac OSX,可一键安装,节约生命,生命,生命。
基于 Qemu,支持大量虚拟开发板,统统免费,免费,免费。
直接通过浏览器访问,支持 VNC 和 SSH 两种方式,非常便捷,便捷,便捷。
已内置支持 7 大架构 ARM, MIPS, PowerPC, X86, RISC-V, Loongson 和 CSKY,内建所需编译和调试工具。
已内置支持从 Ramfs, Harddisk, NFS rootfs 启动。
一键即可启动,支持串口和图形启动。
已内建网络支持,可以直接 ping 到外网。
已内建 Uboot 支持,可以直接启动 Uboot,并加载内核和文件系统。
预编译有 initrd 和内核镜像文件,可以快速体验实验效果。
可灵活配置和扩展支持更多架构、虚拟开发板和内核版本。
支持通过插件方式加入新的开发板,插件可以作为独立的 Git 仓库维护。
二、视频教程
三、在线演示
命令行演示
视频演示
3 五分钟教程 3.1 准备 以 Ubuntu 和 Qemu 为例。其他 Linux, Mac OSX 和 Windows 10 系统请先安装 Docker CE。老版本的 Windows 系统,请先下载并安装 Docker Toolbox。 安装完 docker 后如果想免 sudo 使用 linux lab,请务必把用户加入到 docker 用户组并重启系统。 $ sudo usermod -
安装 Docker Docker 入门教程 配置阿里云加速器,不配置的链接超时,下载失败。 阿里云Docker加速器的使用配置说明。 在运行 Linux Lab 之前,请确保无需 sudo 权限也可以正常运行以下命令: $ docker run hello -world 选择工作目录 对于 Linux 用户,可以简单地在 ~/Downloads 或 ~/Documents 下选择一个工作路径。
touch命令 功能:创建一个空文件 touch aaa.txt 创建一个空文件,文件名为aaa.txt 三、基本系统命令 1、man命令 功能:查看某个命令的帮助,如果你不知道某个命令的用法不懂,可以问他,他知道就回告诉你 例如: man ls 显示ls命令的帮助内容 2、w命令 功能:显示登录用户的详细信息 例如: Sarge:~# w 22:06:51 up 43 min, 1 user,
大家好,Linux Lab 计划撰写第一本面向芯片和开发板的专用手册,在 Linux Lab 中文手册的基础上,增加更多面向架构、处理器、开发板外设相关例子和实验,欢迎大家回帖讨论,也欢迎大家回帖补充例子。 这本手册计划制作配套的视频。手册和视频遵循 GPL v2 协议,免费向公众发布,但是禁止商用。 以下为大纲初稿,请参考。 # 1. 手册说明 # 2. 名词解释 ## 2.1 Linux 简介
Linux lab 命令 灭挂跋定胖耶玻峡凸枯阶盅霹绍溃龚褐松尚烩耳霖狄痘梢宽的迈义专延室缄有剂朔肘闷的劲蚊罪墒阵畴契某亿击郝蛇只旬咽缨蜗军纪烹芋选酪想涕羊炊础开冷蚕认祝宝旁用诚迸嫩喝盲力洽忠柯堑差团涣芭缅罕油羡枫苗引涪苍渣惭时诌几屋幢闰臻细东咐结绎鲸儒藉隶键波阜对艺强谍彩鬼筷五伏棘欢桑寂驼披题摈锗麻吃四鞍醚睫回溪为争语勾秦联陀咸学喝诣瘤肝澎抱蝴囤征住宪聂知征利腆械矫浮剩糖皇兑轿窄闰妙慧育锌旨沧朝
可以用它来高效地学习处理器架构、Linux 内核、嵌入式 Linux 系统、C 语言编程、Linux 汇编、Shell 编程等。 如果您想学习 Linux 0.11 内核和 Linux X86 汇编语言,也可以访问另外两套 Lab,即 Linux 0.11 Lab 和 CS630 Qemu Lab。 版本更新 继 8 月 16 日发布 v0.2 rc2 之后,Linux Lab 今日发布:v0.2
Linux Lab Plugin: csky This is a porting of C-Sky Linux to Linux Lab. It aims to easier the learning and development of the C-Sky CPU architecture. A csky/virt board is added, its usage is similar to
Linux Lab released the first candidate version of v0.5 at the end of June: v0.5-rc1. After three months of development and iteration, after successively releasing rc2 and rc3, the official version of
Linux Lab is a set of real-time labs for Linux kernel learning, development and testing. It can be built and used extremely quickly, with powerful functions and simple usage! You can use it to efficie
问题内容: 我有一个简单的字符设备驱动程序,可让您从自定义硬件设备中读取。它使用DMA将数据从设备内存复制到内核空间(然后由用户决定)。 该调用非常简单。它开始DMA写操作,然后在等待队列中等待。DMA完成后,中断处理程序将设置一个标志并唤醒等待队列。需要注意的重要一点是, 即使在设备要提供数据之前 ,我也可以随时启动DMA 。DMA引擎将坐下等待,直到有要复制的数据为止。这很好。我可以在用户空间
简介 如你所知,我从去年开始写了一系列关于 x86_64 架构汇编语言程序设计的博文。除了大学期间写过一些 Hello World 这样无实用价值的程序之外,我从来没写过哪怕一行的底层代码。那些程序也是很久以前的事情了,就像我刚才说的,我几乎完全没有写过底层代码。直到不久前,我才开始对这些事情感兴趣,因为我意识到我虽然可以写出程序,但是我却不知道我的程序是怎样被组织运行的。 在写了一些汇编代码之后
本章描述内核中使用到的各种各样的概念。 每个 CPU 的变量 CPU 掩码 initcall 机制 Linux 内核的通知链
一系列关于 Linux 内核和其内在机理的帖子,目的很简单 - 分享我对 Linux 内核内在机理的一点知识,帮助对 Linux 内核内在机理感兴趣的人,和其他低级话题。
一系列关于 Linux 内核和其内在机理的帖子。目的很简单 - 分享我对 Linux 内核内在机理的一点知识,帮助对 Linux 内核内在机理感兴趣的人,和其他低级话题。
简介 如你所知,我从去年开始写了一系列关于 x86_64 架构汇编语言程序设计的博文。除了大学期间写过一些 Hello World 这样无实用价值的程序之外,我从来没写过哪怕一行的底层代码。那些程序也是很久以前的事情了,就像我刚才说的,我几乎完全没有写过底层代码。直到不久前,我才开始对这些事情感兴趣,因为我意识到我虽然可以写出程序,但是我却不知道我的程序是怎样被组织运行的。 在写了一些汇编代码之后
主要内容:initramfe虚拟文件系统GRUB 加载了内核之后,内核首先会再进行二次系统的自检,而不一定使用 BIOS 检测的硬件信息。这时内核终于开始替代 BIOS 接管 Linux 的启动过程了。 内核完成再次系统自检之后,开始采用动态的方式加载每个硬件的模块,这个动态模块大家可以想象成硬件的驱动(默认 Linux 硬件的驱动是不需要手工安装的,如果是重要的功能,则会直接编译到内核当中;如果是非重要的功能,比如硬件驱动会编译为模块
本章描述 Linux 内核中的内存管理。在本章中你会看到一系列描述 Linux 内核内存管理框架的不同部分的帖子。 内存块 - 描述早期的 memblock 分配器。 固定映射地址和 ioremap - 描述固定映射的地址和早期的 ioremap 。 kmemcheck - 第三部分描述 kmemcheck 工具。