自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jackchan-x 的博客

记录分享 linux 知识

  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 ubuntu 22.04 lts 安装步骤(vmware)

ubuntu 22.04 lts 安装步骤

2022-04-23 00:32:54 22226 9

翻译 Makefile -- 二次展开(SECONDEXPANSION)

Makefile -- 二次展开(SECONDEXPANSION)1. Makefiles 构成2. make 如何读取 Makefile3. 如何解析 Makefiles4. 二次展开5. 补充说明(翻译自 GNU make 3.1 What Makefiles Contain、3.7 How make Reads a Makefile、3.8 How Makefiles Are Parsed 和 3.9 Secondary Expansion,总共四节)1. Makefiles 构成Makefil

2021-01-25 00:33:44 2282

翻译 Makefile -- 伪目标

Makefile -- 伪目标(翻译自 GNU make 4.6 – Phony Targets)伪目标不是一个真实的文件名。当用 make 显式指定请求时,伪目标仅仅是将要执行的命令的名字。有两个理由去使用伪目标:一是避免和相同的文件名产生冲突;二是提升性能。如果你写了一条规则(rule),而该规则的命令不会实际创建目标文件,那么 make 每次到达该目标时,其命令总会被执行。例如:clean: rm *.o temp因为 rm 命令不会创建名为 clean 的文件,也许永远也不存在这样的

2021-01-24 21:01:27 1631

原创 qemu + gdb + busybox 内核调试流程

qemu + gdb 调试内核1. 安装 qemu方式一:源码编译安装方式二:直接安装2. 安装 gdb方式一:源码编译安装方式二:直接安装3. 制作 initrd4. 获取内核 vmlinuz 和 vmlinux方式一:内核源码编译方式二:直接从 ubuntu 或 centos 发布件中获取5. 调试内核启动 qemu启动 gdb1. 安装 qemu我在 ubuntu 20.10 上使用了编译安装方式,在 centos 8.2.2004 上使用了直接安装方式,具体如下:方式一:源码编译安装(1)获

2021-01-02 11:56:29 2403 1

原创 Linux 文件系统内核代码学习

Linux 文件系统内核代码学习1. 结构体1.1 inode1.2 dentry1.3 file1.4 files_struct1.5 fdtable1.6 path1.7 vfsmount1.8 super_block2. 函数2.1 filename_lookup2.2 path_lookupat2.3 path_init2.4 link_path_walk(先占个坑,后面边学边完善)1. 结构体对于每一个文件(包括目录、字符设备、块设备、socket 文件、FIFO文件、软连接)均有一个与之对

2020-10-28 23:18:32 988

翻译 Makefile -- 后缀规则

Makefile - 旧式后缀规则后缀规则是一种 make 定义隐式规则的旧式方式。模式规则更加通用、清晰,后缀规则已经被废弃。为了兼容旧的 makefiles,GNU make 依然支持后缀规则。后缀规则有两种形式:双后缀和单后缀。双后缀规则由一对后缀定义:target 后缀和源文件后缀。双后缀规则会匹配任意以 target 后缀结尾的文件。对应的隐式依赖是 target 文件名加上源文件后缀。例如:双后缀 .c.o (target 后缀和源文件后缀分别为 .o和 .c)等效于模式规则 %.o: %.

2020-08-12 00:03:38 3551

原创 ucore lab1 实验报告 01 -- function.mk

ucore lab1 实验报告1. 理解通过 make 生成执行文件的过程1.1 ucore.img 生成过程1. 理解通过 make 生成执行文件的过程1.1 ucore.img 生成过程

2020-08-07 20:08:13 685

原创 Linux 启动流程 -- BIOS/UEFI & bootloader & kernel & initramfs & systemd

Linux 启动流程1. BIOS 启动阶段1.1 启动方式1.2 主要功能2. OS 引导阶段2.1 分区类型2.2 引导方式3. 内核启动阶段4. systemd 启动阶段1. BIOS 启动阶段1.1 启动方式Legacy BIOSUEFI BIOS1.2 主要功能POST加载 bootloader,并把控制权转交给 bootloader2. OS 引导阶段2.1 分区类型MS-DOShttps://www.cnblogs.com/kelamoyujuzhen/p/9

2020-07-04 11:47:22 14907

原创 Lex & Yacc 学习笔记

Lex & Yacc 学习笔记1. Lex & Yacc 简介1.1 Lex - 词法解析器生成器1.2 Yacc - 语法解析器生成器2. Lex & Yacc 原理2.1 Lex 和 Yacc 的关系2.2 Lex & Yacc 输入文件格式2.3 Lex & Yacc 内部工作原理3. Lex & Yacc 进阶参考文献1. Lex & Yacc 简介最近在学习 《跟我一起写 Makefile》的时候,里面提到 Yacc,一时好奇,网上查了些

2020-06-26 08:42:22 1008

原创 内核辅助函数系列 002 --- _find_next_bit:unsigned long 整数数组中第一个 0 或 1 位

基于4.19.55 内核源码参数addr1 带搜寻 0/1 位的整数数组addr2 扩展数组nbits 最大搜索位start 搜索开始位invert 反转掩码返回值invert 等于 0 时,返回第一个非 0 位,等于 ~0UL 时,返回整数数组中第一个 0 位代码在 find_bit.c 中,实现如下:/* * This is a common helper functi...

2020-04-04 22:33:41 469

原创 内核辅助函数系列 001 --- __ffs(unsigned long word):第一个非 0 位

4.19.55 内核源码 __ffs.h参数word 带搜寻非 0 位的整数返回值返回第一个非 0 位,全 0 的情况下返回 BITS_PER_LONG - 1/** * __ffs - find first bit in word. * @word: The word to search * * Undefined if no bit exists, so code shoul...

2020-04-04 20:31:19 958

Git-2.13.0-64-bit.exe

git for windows

2017-06-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除