update something about Linux OS
This commit is contained in:
parent
1b9378fd16
commit
97af618c0d
|
@ -17,6 +17,10 @@ https://sourceware.org/binutils/docs/as/RISC_002dV_002dDirectives.html
|
|||
- .text段保存代码,是只读和可执行的。
|
||||
- .bss段是未初始化的数据段
|
||||
|
||||
##### .incbin指示
|
||||
|
||||
把文件原封不动地放在当前位置。文件必须用引号括起来。
|
||||
|
||||
##### .globl指示
|
||||
|
||||
.globl指示告诉汇编器_start这个符号要被链接器用到,所以要在目标文件的符号表中给它特殊标记。
|
||||
|
@ -43,4 +47,8 @@ https://sourceware.org/binutils/docs/as/RISC_002dV_002dDirectives.html
|
|||
|
||||
##### .option
|
||||
|
||||
修改与汇编代码相关的汇编器选项。
|
||||
修改与汇编代码相关的汇编器选项。
|
||||
|
||||
#### 参考资料
|
||||
|
||||
[The GNU Assembler](http://tigcc.ticalc.org/doc/gnuasm.html#SEC97B)
|
|
@ -3,25 +3,25 @@
|
|||
目录配置:(FHS)(四种类型:static,variable,shareable,unshareable)
|
||||
|
||||
```
|
||||
/bin //常用命令
|
||||
/sbin //系统管理员才会用到的命令
|
||||
/lib //开机及常用命令的函数库
|
||||
/usr //unix software resouce:软件放置处
|
||||
/opt //第三方软件
|
||||
/srv //网络服务
|
||||
/tmp //放临时文件
|
||||
/etc //配置文件
|
||||
/etc/passwd //用户信息
|
||||
/etc/shadow //密码信息
|
||||
/etc/group //组信息
|
||||
/boot //开机与内核
|
||||
/dev //设备文件
|
||||
/var //variable:与系统动作过程有关
|
||||
/media //放置可移除的设备
|
||||
/mnt //暂时挂载
|
||||
/home //用户目录
|
||||
/root //系统管理员目录
|
||||
/lost+found //文件系统发生错误时,放置遗失片断
|
||||
/bin #常用命令
|
||||
/sbin #系统管理员才会用到的命令
|
||||
/lib #开机及常用命令的函数库
|
||||
/usr #unix software resouce:软件放置处
|
||||
/opt #第三方软件
|
||||
/srv #网络服务
|
||||
/tmp #放临时文件
|
||||
/etc #配置文件
|
||||
/etc/passwd #用户信息
|
||||
/etc/shadow #密码信息
|
||||
/etc/group #组信息
|
||||
/boot #开机与内核
|
||||
/dev #设备文件
|
||||
/var #variable:与系统动作过程有关
|
||||
/media #放置可移除的设备
|
||||
/mnt #暂时挂载
|
||||
/home #用户目录
|
||||
/root #系统管理员目录
|
||||
/lost+found #文件系统发生错误时,放置遗失片断
|
||||
/proc # 记录着内核的数据结构,动态地存在于内存中
|
||||
/proc/数字 # 数字代表了对应的进程,描述的是相关进程的信息
|
||||
/proc/cpuinfo # CPU信息
|
||||
|
@ -34,7 +34,7 @@
|
|||
/proc/scsi # SCSI设备的信息
|
||||
/proc/sys
|
||||
/proc/version # 内核版本
|
||||
/sys //内核相关信息
|
||||
/sys #内核相关信息
|
||||
```
|
||||
|
||||
#### 文件种类
|
||||
|
@ -42,13 +42,13 @@
|
|||
文件三种权限:rwx
|
||||
|
||||
```
|
||||
d //directory文件
|
||||
- //一般文件
|
||||
l //link文件
|
||||
b //block设备,一般在/dev目录下
|
||||
c //character设备,一般在/dev目录下
|
||||
s //socket文件,例/var/run目录下
|
||||
p //数据输送文件
|
||||
d #directory文件
|
||||
- #一般文件
|
||||
l #link文件
|
||||
b #block设备,一般在/dev目录下
|
||||
c #character设备,一般在/dev目录下
|
||||
s #socket文件,例/var/run目录下
|
||||
p #数据输送文件
|
||||
```
|
||||
|
||||
|
||||
|
|
|
@ -1,22 +1,32 @@
|
|||
##### 编译过程
|
||||
|
||||
```
|
||||
sudo make mrproper //清除中间文件和配置文件
|
||||
sudo make menuconfig
|
||||
sudo make //生成vmlinux内核文件,双核CPU可用-j4参数提高编译速度
|
||||
sudo make modules //编译可加载模块
|
||||
sudo make modules_install //将模块安装到标准模块目录中,位于/lib/modules中
|
||||
sudo make install //安装内核,即将镜像文件和符号表文件放入/boot目录
|
||||
make mrproper # 清除中间文件和配置文件
|
||||
make menuconfig ARCH=riscv
|
||||
# SoC selection选QEMU Virt Machine
|
||||
|
||||
make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- -j4 # 生成vmlinux内核文件,双核CPU可用-j4参数提高编译速度
|
||||
make modules # 编译可加载模块
|
||||
sudo make modules_install # 将模块安装到标准模块目录中,位于/lib/modules中
|
||||
sudo make install # 安装内核,即将镜像文件和符号表文件放入/boot目录
|
||||
```
|
||||
|
||||
##### 引导内核
|
||||
|
||||
```
|
||||
update-grub //更新启动菜单
|
||||
update-grub # 更新启动菜单
|
||||
在/etc/default/grub中确保GRUB_TIMEOUT非0
|
||||
在/etc/grub.d/30_os-prober中确保timeout值与GRUB_TIMEOUT的值一致
|
||||
```
|
||||
|
||||
#### menuconfig介绍
|
||||
|
||||
```
|
||||
make menuconfig ARCH=riscv
|
||||
```
|
||||
|
||||
|
||||
|
||||
##### 问题记录
|
||||
|
||||
1. make menuconfig产生了一个fatal error,提示找不到curses.h,安装libncurses5-dev可解决此问题。
|
Loading…
Reference in New Issue