在Linux中,文件路径分为两种:绝对路径和相对路径。
绝对路径
从根目录开始,依次将各级子目录的名字组合起来,形成的路径就称为某个文件的绝对路径。比如:跟目录/下有目录usr,usr目录下有子目录bin,bin目录下有文件chsh,则chsh文件的绝对路径就是:/usr/bin/chsh。
相对路径
相对当前所在路径的位置,例如当前所在的位置为/usr,也就是在根目录的usr子目录下,则chsh文件相对当前位置的路径为:bin/chsh。
在路径之中,一些特殊符号的说明:
。:表示用户所处的当前目录
……:表示上级目录
~:表示当前用户自己的家目录
~user:表示用户名为user的家目录,这里的user是在/etc/passwd中存在的用户名。
1、首先我们打开自己的mac电脑进入linux *** 作系统,点击界面下方终端图标。
2、然后输入下载的命令,命令之后粘贴下载的地址。
3、此时会看到下载后的文件,文件就在这个【~】目录里面。
4、你要找到这个文件,那么点击桌面的文件夹图标。
5、然后点击这个房子目录。
6、此时就会看到下载的文件了的。
在Linux内核中,使用 vmlinux.lds.S 文件(路径: arch/arm64/kernel/ )布局内核映像中相关段(例: .text、.data )的位置。
在Linux内核编译时, vmlinux.lds.S 文件最终会被构建成链接脚本 vmlinux.lds 文件(路径: arch/arm64/kernel/ )。
本文主要介绍Linux内核程序运行的起始位置 _text ,在 vmlinux.lds.S 文件中定义如下:
从上面可以看出: _text = KIMAGE_VADDR + TEXT_OFFSET 。
1、KIMAGE_VADDR定义
文件: arch/arm64/include/asm/memory.h ,定义如下:
文件: include/linux/sizes.h ,定义如下:
宏 KIMAGE_VADDR 展开如下:
上面是按照无符号计算, KIMAGE_VADDR 为: 0xFFFFFF8008000000 。
2、TEXT_OFFSET定义
文件: arch/arm64/Makefile ,定义如下:
通过计算, _text 值为: 0xFFFFFF8008080000 。
在Linux内核启动时,从 log 信息中也可以找到对应的地址:
_text 对应的是虚拟地址 , 在内核中可以直接通过访问该地址获取其保存的值 ,其对应 Image 映像中的第一个字 0x14424000 。
Image 映像查看方法如下:
本文基于 RockPI 4A 单板Linux 4.4内核。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)