Linux boot文件是什么

Linux boot文件是什么,第1张

/boot:启动Linux的核心文件

以下是其他常用的linux *** 作系统目录:

/bin:存放最常用命令;

/dev:设备文件;

/etc:存放各种配置文件;

/home:用户主目录;

/lib:系统最基本的动态链接共享库;

/mnt:一般是空的,用来临时挂载别的文件系统;

/proc:虚拟目录,是内存的映射;

/sbin:系统管理员命令存放目录;

/usr:最大的目录,存许应用程序和文件;

/usr/X11R6:X-Window目录;

/usr/src:Linux源代码;

/usr/include:系统头文件;

/usr/lib:存放常用动态链接共享库、静态档案库;

/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充。

. = ALIGN(4)//这个“.=” 首先,“.”和=是分开的,“.”可以理解为一个地址计数。“=”就是等于。这句表示从上一个地址开始的第一个4字节对齐的地址

.text : //这是一个段明,text段。

{

cpu/sep4020/start.o (.text)//cpu/sep4020/start.o表示cpu文件夹下的seq2404文件夹下的start.s(也可能是start.c)编译后的目标文件,一个源码文件编译好后有代码、数据等,这儿存放代码

*(.text)//同上,只是把所有目标文件的代码放在这儿

}

. = ALIGN(4)//表示从上一个地址开始的第一个4字节对齐的地址

.rodata : { *(.rodata) }//只读数据段,所有目标文件的只读数据放在此段中

. = ALIGN(4)//表示从上一个地址开始的第一个4字节对齐的地址

.data : { *(.data) }//数据段,所有目标文件的数据放在此段中

. = ALIGN(4)//表示从上一个地址开始的第一个4字节对齐的地址

.got : { *(.got) }//got也是一个段名,这是源文件中定义的一个段,所有got数据全放在这儿

. = .//这表示当前地址存放的是上一个地址的值,不是内容

__u_boot_cmd_start = .//定义一个变量,全局的。

.u_boot_cmd : { *(.u_boot_cmd) }//表示所有U-BOOT命令存放在这儿

__u_boot_cmd_end = .//定义一个变量,全局的。

armboot_end_data = .//定义一个变量,全局的。与__u_boot_cmd_end想等

. = ALIGN(4)

__bss_start = .//////

.bss : { *(.bss) }//////同u_boot_cmd段

_end = .////////////////

}

上面只是简要的分析,连接脚本有其自己的语言,想要完全掌握,去看看连接脚本的语法。同其他语言一样,有自己的关键字、内部函数、怎么定义变量等。通常,对于U-BOOT、ARM裸机程序、linux内核、他们的连接脚本语法基本一样。具体的还需要你下来下功夫。看得懂这个,才明白程序在存储器里面的分布,好处很多。


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

原文地址:https://www.54852.com/yw/7242264.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存