udev && mdev

udev Linux 2.6 以后,udev(运行于用户空间) 取代了 devfs(运行于内核空间) 设备模型变为:设备、总线、驱动(类) 设备和驱动分离,并通过总线进行匹……

阅读全文

特殊文件系统

普通文件系统 step1:新建分区 step2:使用 mkfs 在分区上建立 linux 文件系统 例: mkfs -t ext3 /dev/sda6 特殊文件系统 tmpfs 是一种虚拟内存文件系统,而不是快设备。是基……

阅读全文

busybox

官网 源码 官网:https://busybox.net/ busybox-1.32.0.tar.bz2 编译 安装 见 INSTALL 源码分析 init/init.c graph LR a("main()")-->b["console_init()"] a-->c["putenv((char *) SHELL=/bin/sh)"] a-->d["parse_inittab()"] d-->e["new_init_action(/etc/init.d/rcS)"] a-->f["run_actions(/etc/init.d/rcS)"] a-->g["while (1)"] 通过分析 busybox 初始化流程,可以知道在两个地方……

阅读全文

rootfs

根目录&&根文件系统 根目录:倒立的目录树,在 Linux 中,所有的目录都属于根目录 根文件系统:挂载在根目录下面的文件系统 什么是根文件系……

阅读全文

Makefile 变量和赋值

疑问 解答 学到 Makefile 先执行没有缩进的 再执行缩进的 进一步探索 变量的值到底在定义时扩展(静态扩展),还是在运行时扩展(动态扩展)? Makefile 一共提供了四个赋值……

阅读全文

init systemd

0 号进程 Kernel 相当于是 0 号进程 可以把 Kernel 理解为单片机程序 1 号进程 每个 Unix 系统上都有一个 PID 等于 1 的特殊进程,它是由内核启动的第 1 个用户空间进程。 Kernel 对应……

阅读全文

嵌入式 linux 系统

组成 bootloader + kernel + rootfs 启动 CPU 中固化的一小段代码,会操作 SPI 控制器,从 SPI Flash 0 地址开始读数据到 RAM(一般读最开始的 4K,是 bootloader 的前 4k,bootloade……

阅读全文

jQuery

JavaScript 库 JavaScript 库就是一个 JavaScript 文件,里面存放了许多函数,这些函数都是使用 JavaScript 实现的。 有很多功能函数,如动画 animate、hide、show、获取元素等。……

阅读全文

ubuntu 安装记录

net-tools vim make gcc 挂在共享文件夹失败: 安装增强功能 cifs-utils nfs-common virtualbox-guest-utils unrar g++ gawk git 库 libncurses5-dev zlib1g-dev……

阅读全文

MTK OpenWrt 编译

Q: freadahead.c:91:3: error: #error “Please port gnulib freadahead.c to your pl A: https://blog.csdn.net/jun626/article/details/104870430 Q: 几乎所有问题 A: http://blog.chinaunix.net/uid-20680966-id-5833778.html Q: major、minor、makedev、。。。 A: https://blog.csdn.net/macmacip/article/details/107923340 A: 添加 #include <sys/sysmacros.h> Q: mountlist.c:35:10: error: #include expects “FILENAME” or A: delete #include Q: makefi……

阅读全文