update something about Linux OS

This commit is contained in:
shzhxh 2020-06-10 16:58:20 +08:00
parent 1b9378fd16
commit 97af618c0d
5 changed files with 53 additions and 35 deletions

View File

@ -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)

View File

@ -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 #数据输送文件
```

View File

@ -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可解决此问题。

0
README.md Executable file → Normal file
View File

0
Software/busybox.md Normal file
View File