linux设置起始目录

linux设置起始目录,第1张

起始目录:对于linux启动并挂载了文件系统后,当我们进入终端用户界面,我们就会进入我们的linux起始目录;

这个与“/”根目录不同,他的符号为“~”

我们可以查看该目录的情况:# echo ~

#一般会打印出/root目录,而我们应该知道该目录的目的为root用户目录,其作用的本身是提供给root用户使用的。

*** 作步骤如下:

1、切换到root用户,直接修改/etc/passwd文件,找到用户名一行,如下图所示修改路径,然后保存即可;

2、切换到root用户,使用usermod命令,例如usermod -d /tmp test (test为用户名),使用该命令请确保该用户下没有运行的软件或进程;

3、最后切换到普通账户,就会看到当前默认目录已经更改了。

在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内核。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8485780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存