Linux 内核相关的有趣资源,欢迎来此处补充。
入门
- bb-kernel : This is just a set of scripts to rebuild a known working kernel for ARM devices.
虚拟化
- LC-3 虚拟机 : 只有几百行
- dockerpi : 其实是一百行左右的 Dockerfile,在其中运行 qemu 模拟 raspberrypi 的硬件环境法
- OSX-KVM : 利用 kvm 实现运行 OSX 的虚拟机
- Docker-OSX : 类似 dockerpi, 提供安装 OSX-KVM 的自动安装
- macos virtualbox : 提供一个脚本,在 virtualbox 中间运行 macos
- v86 : 使用 js 写的 x86 硬件虚拟化,可以在网页上运行机器
- windows95 in electron : 利用 v86 实现运行 windows95 在 electron 中间
KVM
- Learning KVM - implement your own kernel
- kvmexample
- kvmsample : 几百行,guest 就是一个三行的汇编
- kvmtool : 没有维护, 大约20000 行
- 简易的KVM firmware的简单Rust 实现 : @todo 不是很懂 firmware 在此处的含义
进程
网络
sysadmin
- Linux sysadmin chanllenge : 一共二十个教程
- Linux Tools Quick Tutorial : 文本处理的部分强烈推荐
- Linux Productivity Tools
- Test your sysadmin skills
- Linux sysadmin interview questions
- Java 程序员眼中的 Linux
- 常用工具的 checksheet
- Linux journey : 界面精美
安全
- make linux fast again
- a13xp0p0v : linux 安全的工程师,多个项目可以作为参考,linux-kernel-defence-map 可重点关注
- Andrey Konovalov : 很厉害
- https://github.com/r0hi7/BinExp : binary exploitation
- https://github.com/milabs/awesome-linux-rootkits
- https://github.com/xairy/linux-kernel-exploitation
distribution
- snakeware
- https://github.com/linuxkit/linuxkit : 制作自己的发行版
- https://github.com/ivandavidov/minimal : mininal 发行版
教程
- eudyptula : 划分为 20 任务,项目已停止,不过还是有价值
- Linux kernel labs : 强烈推荐
- raspberry pi os : 利用 raspberrypi 学习内核
- https://gitee.com/tinylab
- https://devarea.com/labs
- https://github.com/figozhang/runninglinuxkernel_4.0 : 奔跑吧linux内核 @todo 似乎讲解过总线
trace
tiny os
- Os tutorial : 讲解清晰,但是部分完工
- OS in Rust
- biscuit : 使用 go 写的 POSIX-subset OS
- 清华的 rcore
- zcore
- 南京大学的os lab
- rust kernel
- https://github.com/MRNIU/SimpleKernel
文章合集
- wowotech :star: :star: :star: :star: :star:
- linux inside :star: :star: :star: :star: :star:
- low level programming university :star: :star: :star: :star:
- 知乎专栏:术道经纬 :star: :star:
- gatieme 的笔记 :star: :star:
- LoyenWang :star: :star:
- dsahern's blog :star:
- https://devarea.com/labs/#.Xm3c_XUzYUE
- https://github.com/novelinux/linux-4.x.y
- https://terenceli.github.io/archive.html
- https://unixism.net/2020/04/io-uring-by-example-article-series/
文摘
- Fuchsia Overview : hn 关于 Fuchaia 的评价
- 知乎 : 如何学习内核 ?
- https://embeddedbits.org/how-is-the-linux-kernel-tested/
- https://news.ycombinator.com/item?id=22987747 : telefork() 将进程发送到另一个计算机上
- meltdown 和 spectrum 相关
project
- syzkaller : @todo 暂时不知道如何实现 fuzzer 的
- kernelci
- https://github.com/linux-test-project/ltp
- https://systemd.io/ 了解一下其中的内容
- https://github.com/jarun/keysniffer
- https://github.com/orhun/kmon : 内核包管理器,
- idea4good : 和内核没有什么关系,只是利用 fb 和 shmem,绕过 X 来实现显示让人觉得很有意思
another os
- popcorn os linux kernel 的基础上为异构体系统提供支持
- minos : 国人开发的 RTOS
- https://github.com/demikernel/demikernel
- https://github.com/bottlerocket-os/bottlerocket : 基于linux 为容器而生的操作系统, 类似还有很多, 可以在awesome linux containers 中间找
- https://www.freebsd.org/
- https://www.minix3.org/
- https://github.com/swimos/swim
- https://github.com/dwelch67/raspberrypi : 要啥树莓派,qemu 学习 arm 指令集
- https://news.ycombinator.com/item?id=22564665 : good fellow helps, all kinds of resources