Linux 内核的职责
内核不只是驱动集合:从硬件抽象、进程调度、内存管理到网络协议栈和文件系统,说明内核替应用挡住了哪些细节。
initramfs 是什么
说明 initramfs 的本质是一套启动阶段用的目录和文件,讲清 cpio 打包加 gzip 压缩的过程、内核如何展开它,以及与 ext4 rootfs 的区别和两种放置方式。
/init 与 PID 1
讲清 initramfs 里的 /init 是可执行文件而非目录,它成为 PID 1 的过程、执行权限为什么必须提前设好,以及最小 /init 脚本为什么要挂载 proc、sys、dev 并最后启动 shell。
BusyBox 与极简用户空间
说明 BusyBox 为什么用一个可执行文件顶掉大量命令、符号链接与 applet 的关系、静态编译和动态编译的取舍,以及为什么必须为目标 CPU 交叉编译。
交叉工具链与 ABI
讲清交叉编译的必要性、mipsel-linux-gnu 前缀各段的含义、工具链包含哪些组件,以及 Kernel 为什么不链接 libc、ABI 不兼容会出现哪些报错。
libc、系统调用与内核接口
梳理从应用到内核的三级调用链,区分 C 标准库函数与 Linux 系统调用,并说明头文件、man 手册、/dev、/proc、/sys 各自提供哪一层接口。
内核配置与驱动依赖
说明能编译不等于运行时可用:从内核配置、设备节点、文件系统支持到设备树匹配,梳理一条按层排查应用功能失败的方法。
从 socket 实现一个简化版 wget
用最小 wget 串起 HTTP 下载所需的全部接口:URL 解析、DNS、TCP socket、发送请求、接收并剥离 Header、写入文件,并说明为什么先不做 HTTPS。
MT7621 极简 Linux 实践路线
按六个阶段给出 MT7621 极简 Linux 的实践顺序:只启动 Kernel、加入 initramfs、检查基础接口、逐个验证硬件、跑自己的应用、过渡到正式 rootfs,最后说明 Buildroot 的定位。
MT7621 极简 Linux 学习笔记(系列索引)
MT7621 极简 Linux 系列的总入口:按顺序列出十篇独立知识模块,并给出从 U-Boot 到硬件的总体知识链。
