Linux 內(nèi)核相關(guān)的有趣資源,歡迎來此處補充。
入門
- bb-kernel : This is just a set of scripts to rebuild a known working kernel for ARM devices.
虛擬化
- LC-3 虛擬機 : 只有幾百行
- dockerpi : 其實是一百行左右的 Dockerfile,在其中運行 qemu 模擬 raspberrypi 的硬件環(huán)境法
- OSX-KVM : 利用 kvm 實現(xiàn)運行 OSX 的虛擬機
- Docker-OSX : 類似 dockerpi, 提供安裝 OSX-KVM 的自動安裝
- macos virtualbox : 提供一個腳本,在 virtualbox 中間運行 macos
- v86 : 使用 js 寫的 x86 硬件虛擬化,可以在網(wǎng)頁上運行機器
- windows95 in electron : 利用 v86 實現(xiàn)運行 windows95 在 electron 中間
KVM
- Learning KVM - implement your own kernel
- kvmexample
- kvmsample : 幾百行,guest 就是一個三行的匯編
- kvmtool : 沒有維護, 大約20000 行
- 簡易的KVM firmware的簡單Rust 實現(xiàn) : @todo 不是很懂 firmware 在此處的含義
進程
網(wǎng)絡(luò)
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 可重點關(guān)注
- 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 : 制作自己的發(fā)行版
- https://github.com/ivandavidov/minimal : mininal 發(fā)行版
教程
- eudyptula : 劃分為 20 任務(wù),項目已停止,不過還是有價值
- Linux kernel labs : 強烈推薦
- raspberry pi os : 利用 raspberrypi 學習內(nèi)核
- https://gitee.com/tinylab
- https://devarea.com/labs
- https://github.com/figozhang/runninglinuxkernel_4.0 : 奔跑吧linux內(nèi)核 @todo 似乎講解過總線
trace
- eBPF 介紹
- https://github.com/zoidbergwill/awesome-ebpf
- Debug Hacks 內(nèi)核調(diào)試的老技術(shù)
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:
- 知乎專欄:術(shù)道經(jīng)緯 :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 關(guān)于 Fuchaia 的評價
- 知乎 : 如何學習內(nèi)核 ?
- https://embeddedbits.org/how-is-the-linux-kernel-tested/
- https://news.ycombinator.com/item?id=22987747 : telefork() 將進程發(fā)送到另一個計算機上
- meltdown 和 spectrum 相關(guān)
project
- syzkaller : @todo 暫時不知道如何實現(xiàn) fuzzer 的
- kernelci
- https://github.com/linux-test-project/ltp
- https://systemd.io/ 了解一下其中的內(nèi)容
- https://github.com/jarun/keysniffer
- https://github.com/orhun/kmon : 內(nèi)核包管理器,
- idea4good : 和內(nèi)核沒有什么關(guān)系,只是利用 fb 和 shmem,繞過 X 來實現(xiàn)顯示讓人覺得很有意思
another os
- popcorn os linux kernel 的基礎(chǔ)上為異構(gòu)體系統(tǒng)提供支持
- minos : 國人開發(fā)的 RTOS
- https://github.com/demikernel/demikernel
- https://github.com/bottlerocket-os/bottlerocket : 基于linux 為容器而生的操作系統(tǒng), 類似還有很多, 可以在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