update lds链接脚本.md

This commit is contained in:
shzhxh 2019-04-03 14:30:50 +08:00
parent 2ef6c1de30
commit 80da054f4f
3 changed files with 22 additions and 5 deletions

13
Software/Distr_Deepin.md Normal file
View File

@ -0,0 +1,13 @@
##### 从grub命令行启动并修复grub
```
ls # 通过此命令找到deepin所在分区假定在(hd0,gpt1)
set
linux (hd0,gpt1)/vmlinuz root=/dev/sda1 foo bar # 加载内核
initrd (hd0,gpt1)/initrd.img
boot # 进入deepin系统
# 在deepin系统中开启一个终端
sudo update-grub
```

View File

@ -7,7 +7,7 @@
```
-a # 激活bootnum
-A # 不激活bootnum
-b # 修改BootXXX
-b, --bootnum XXX # 修改BootXXX注意XXX是16进制数
-B # 删除bootnum
-c # 创建bootnum并添加到bootorder
-d # 此盘包含loader(默认/dev/sda)

View File

@ -20,6 +20,10 @@ INCLUDE filename把其它链接脚本filename链接到当前脚本中。
##### MEMORY
链接器默认允许分配所有可用内存,可用`MEMORY`命令来覆盖此默认配置。
`MEMORY`命令描述了目标内存区域的位置和大小。它还描述了链接器对此内存区域的权限。
```
MEMORY {
NAME1 [(ATTR)] : ORIGIN = ORIGIN1, LENGTH = LEN1
@ -28,13 +32,13 @@ NAME2 [(ATTR)] : ORIGIN = ORIGIN2, LENGTH = LEN2
}
```
NAME:存区域的名字。
NAME:存区域的名字。仅用于链接脚本内对此内存区域的引用,即在链接脚本之外此名称是无意义。
ATTR:该存区域的属性。R只读W读写X可执行A可分配I已初始化L同I!不满足
ATTR:该存区域的属性。R只读W读写X可执行A可分配I已初始化L同I!反转它后面跟着的任意属性的意思
ORIGIN:区域的开始可简写成org或o.
ORIGIN:此内存区域的开始地址可简写成org或o.
LENGTH:区域的大小可简写成len或l.
LENGTH:此内存区域的大小默认以bytes为单位也可显式地指定K(kilobytes), M(megabytes)等单位可简写成len或l.
##### PHDRS