导航:首页 > 操作系统 > linux文件系统启动

linux文件系统启动

发布时间:2022-05-21 08:14:48

① arm板linux下文件系统启动项不能运行

你 ARM 跑的 Linux 是 Fedora 还是 RHEL ?
-----------------------
rc.local 是一个脚本,是要被运行才能被运行里面的东西的,这个脚本并不是被内核肯定运行,而是看你的 Linux 启动脚本。
这个 rc.local 是桌面 Linux 的习惯,但也不是所有 Linux 都会去执行的习惯。你的 ARM 系统如果不是完全和 Linux 系统相同的启动脚本,那么这里运行肯定有问题。

与其你来问 rc.local 里面的东西为什么不被运行,我觉得还不如去看看你的 Linux 系统启动脚本到底是如何启动的。

② linux文件系统的组成和作用

/bin 见截图中的解释

/boot 是系统启动时所需文件的存放处。

/dev 顾名思义就是存放设备文件的地方。包括鼠标,键盘等设备的驱动文件等

/etc见截图中的解释

/home ..

/lib 包括其他一些目录下的lib文件夹存放的是 函数运行时所调用的函数库

/mnt 是软盘和光盘的挂载点

/opt 是安装软件的目录

/proc 虚拟文件系统,目录中的文件存放在内存中。包括可以查看CPU的信息。

/sbin ..

/srv 存放网页的文件夹 支持www等服务

/temp是存放临时文件的(所以重要文件不要放在这里)

/user 存放与用户相关的信息

/var 用来管理系统运行期间的信息

③ Linux基本配置和管理---- Linux系统启动详解

linux基本配置和管理----
linux系统启动详解1
系统启动的流程
BIOS
->
MBR+boot
code
->
执行引导程序:
GRUB
->
加载内核
->
执行init
->
运行runlevel2
启动详解
1
BIOS
1
BIOS
指的是基本的输入输出系统(basic
input
output
system),一般保存在主板上的BIOS芯片中
2
计算机启动的第一步一般都是先启动BIOS,然后BIOS去检查硬件以及查找可启动的设备
3
可启动的设备可以在BIOS中进行设置,包括USB
,
CDROM
,
HD等
2
MBR
1
MBR是512字节的,前446字节为引导代码
2
BIOS通过第一个扇区的512字节中最后两个字节为55aa来判断设备为启动设备
3
MBR只是去加载引导程序GURB
3
GRUB
1
GRUB是现在linux使用的主流的引导程序
2
GRUB可以引导几乎所有的操作系统
3
GRUB的相关文件保存在/boot/grub中
4
KERNEL
1
MBR的引导代码将负责找到并加载linux的内核
2
linux内核保存在
/boot/vmlinuz......
3
一般还会加载内核模块的打包文件
/boot/init.....
4
linux为了保持内核的精简会将一些不常用的驱动,功能编译为模块,然后在要用的时候动态的加载,而这些模块被保存为initrmfs文件
5
早期的linux是使用initrd文件,但是现在的绝大多数的linux版本都是使用initrmfs,这样能够更节省空间,更加灵活
6
命令dmesg可以用来查看被次启动内核的输出信息
5
INIT
1
init
是linux运行的第一个进程,init是所有进程的父进程,编号为1
2
调用/etc/rc.d/rc.sysinit来对系统进行初始化,挂载文件系统,并且根据运行级别启动相应的程序
3
linux的运行级别
0
关机
1
单用户模式
2
不带网络的多用户模式
3
命令行的多用户模式
4
未使用
5
图形界面多用户模式
6
重启
4
我们可以通过runlevel查看之前和当前的运行级别
5
命令init可以用来查看改变当前的运行级别
6
单用户修改root密码
1
为内核传递参数1或者是single可使系统进入单用户模式
2
单用户模式不启动任何的服务
3
单用户模式直接以root登录,不需要密码
4
我们可以通过passwd来修改root的密码
5
由于任何接近我们这个物理机的人都有可能修改我们的root密码,因此我们可以通过GRUB加密来防止密码被修改
6
我们在grub.conf中的启动设置里面添加一行password
--md5
加密后的串
密码我们可以通过grub-md5-crypt
生成

④ 如何设置linux文件系统开机启动进入其他目录

这里说的是用户登录进来的目录吧, 只要修改 /etc/passwd 中相应用户第六个字段(家目录)即可

⑤ linux如何重启文件系统

执行命令
hostname,修改当前系统的主机名
#
hostname
newhost
修改
/etc/sysconfig/network,使得下次启动时使用新的主机名
hostname=newhost
修改
/etc/hosts。不修改的话,apache等需要解析主机名的服务将不能启动
127.0.0.1
newhost
localhost
最后就是命令行提示符中的主机名还没有改变,如果很在意的话,重新登录一下就行了

⑥ linux文件系统错误启动不了

检查磁盘命令e2fsck
e2fsck -f /dev/mapper/你具体需要检查的路径
弄磁盘最快捷的恢复方式是重装,如果是在虚拟机上,最好弄个快照,否则,有得你麻烦!但这些方式都学不到东西

⑦ linux启动盘制作 文件系统怎么选

下载好你想安装的Linux系统的boot.iso(用于制作启动)和System.iso(用于系统安装)

具体的步骤以下:

[*]用UltraISO 打开xiaopanOS.iso
[*]启动 - 写入硬盘映像,选择u盘-启动类型-格式化 - 写入 。
[*]写在最后,完成
[*]在电脑BIOS中设置为启动盘
[*]开始安装系统。

问题:
用U盘安装时,出现如下错误: Could not find kernel image: linux

最终方法:
1、确保U盘中存在syslinux.cfg文件。随着所安装的版本的不同,该文件的位置可能不同,通常在/boot/syslinux目录下或者/syslinux目录下。
2、如果在U盘中存在isolinux.cfg文件但却不存在syslinux.cfg文件,那么就把isolinux.cfg文件重命名成syslinux.cfg。

3、如果isolinux.cfg和syslinux.cfg都有,请删除isolinux.cfg这个文件即可。

⑧ Linux文件系统特点

类似于 Windows下的C、D、E等各个盘,Linux系统也可以将磁盘、Flash等存储设备划分为若干个分区,在不同分区存放不同类别的文件。与Windows的C盘类似,Linux一样要在一个分区上存放系统启动所必需的文件,比如内核映象文件(在嵌入式系统中,内核一般单独存放在一个分区中)内核启动后运行的第一-个程序( init)给用户提供操作界面的 shell程序、应用程序所依赖的库等。这些必需、基本的文件合称为根文件系统,它们存放在一个分区中。Linux 系统启动后首先挂接这个分区,称为挂接( mount)根文件系统。其他分区上所有目录、文件的集合,也称为文件系统。Linux 中并没有C、D、E等盘符的概念,它以树状结构管理所有目录、文件,其他分区挂接在某个目录上,这个目录被称为挂接点或安装点(mount point),然后就可以通过这个目录来访问这个分区上的文件了。比如根文件系统被挂接在根目录“I”上后,在根目录下就有根文件系统的各个目录、文件:/bin、/sbin、/mnt等;再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区.的各个目录、文件。在一个分区上存储文件时,需要遵循一定的格式,这种格式称为文件系统类型,比如fat16、fat32、ntfs、ext2、ext3、jffs2、yaffs 等。除这些拥有实实在在的存储分区的文件系统类型外,Linux还有几种虚拟的文件系统类型,比如proc、sysfs 等,它们的文件并不存储在实际的设备上,而是在访问它们时由内核临时生成。比如 proc文件系统下的uptime文件,读取它时可以得到两个时间值(用来表示系统启动后运行的秒数、空闲的秒数),每次读取时都由内核即刻生成,每次读取结果都不一样。“文件系统类型”常被简称为“文件系统”,比如“硬盘第二个分区上的文件系统是EXT2”指的就是文件系统类型。所以“文件系统”这个术语,有时候指的是分区上的文件集合,有时候指的是文件系统类型,需要根据语境分辨,在阅读各类文献时需要注意这点。

⑨ linux文件系统怎样初始化步骤

System V init启动过程
概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式.
1) BSD system init
2) System V init
大多数发行套件的Linux使用了与System V init相仿的init也就是Sys V init,它比传统的BSD system init更容易且更加灵活。
System V init的主要思想是定义了不同的"运行级别(runlevel)"。通过配置文件/etc/inittab定义了系统引导时的运行级别, 进入或者切换到一个运行级别时做什么。每个运行级别对应于一个子目录/etc/rc.d/rcX.d。
每个rcX.d目录中都是一些以S或K开头的文件链接。这些链接指向的脚本都 可以接收start和stop参数,S开头的链接会传入start参数,一般是开启一项服务,K会传入stop参数,一般是停止某服务。
以下是一个大致的System V init过程:
(1)init 过程执行的第一个脚本是 /etc/rc.d/rc.sysinit,它主要做在各个运行级别中进行初始化工作,包括: 启动交换分区;检查磁盘;设置主机名;检查并挂载文件系统;加载并初始化硬件模块.
(2)执行缺省的运行级别模式。 这一步的内容主要在/etc/inittab中体现, inittab文件会告诉init进程要进入什么运行级别,以及在哪里可以找到该运行级别的配置文件.
(3)执行/etc/rc.d/rc.local脚本文件。 这也是init过程中执行的最后一个脚本文件,所以用户可以在这个文件中添加一些需要在登录之前执行的命令.
(4)执行/bin/login程序
注意:
System V init只是一种模式,每个系统初始化都有差异,但大体上不会相差太多。如busybox执行的第一个启动脚本就是/etc/init.d/rcS,而且不可以改变,与上面讲的不同。
LFS文件系统初始化示例
inittab文件
由下内容可以看出,最先执行的是/etc/rc.d/init.d/rc文件,给这个文件传入的参数是一个数字,rc会由传入的数字合成rcX.d目录的路径,然后执行其中的所有脚本链接。当然这只是一部分功能。
# Begin /etc/inittab
id:3:initdefault:
<em><strong>si::sysinit:/etc/rc.d/init.d/rc sysinit</strong></em> #可以设定初始化脚本
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
...
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
...
# End /etc/inittab

etc目录结构
只是一部分,有删减。
.
├── fstab
├── <em>inittab</em>
├── inputrc
├── profile
├── rc.d
│ ├── init.d
│ │ ├── checkfs
│ │ ├── cleanfs
...
│ │ ├── moles
│ │ ├── mountfs
│ │ ├── mountkernfs
│ │ ├── network
│ │ ├── rc #when boot, run.
│ │ ├── reboot
...
│ ├── rc0.d
│ │ ├── K80network -> ../init.d/network
│ │ ├── K90sysklogd -> ../init.d/sysklogd
│ │ ├── S60sendsignals -> ../init.d/sendsignals
│ │ ├── S70mountfs -> ../init.d/mountfs
│ │ ├── S80swap -> ../init.d/swap
│ │ ├── S90localnet -> ../init.d/localnet
│ │ └── S99halt -> ../init.d/halt
│ ├── rc1.d
│ │ ├── K80network -> ../init.d/network
│ │ └── K90sysklogd -> ../init.d/sysklogd
│ ├── rc2.d
│ │ ├── K80network -> ../init.d/network
│ │ └── K90sysklogd -> ../init.d/sysklogd
│ ├── rc3.d
│ │ ├── S10sysklogd -> ../init.d/sysklogd
│ │ └── S20network -> ../init.d/network
│ ├── rc4.d
│ │ ├── S10sysklogd -> ../init.d/sysklogd
│ │ └── S20network -> ../init.d/network
│ ├── rc5.d
│ │ ├── S10sysklogd -> ../init.d/sysklogd
│ │ └── S20network -> ../init.d/network
│ ├── rc6.d
│ │ ├── K80network -> ../init.d/network
│ │ ├── K90sysklogd -> ../init.d/sysklogd
│ │ ├── S60sendsignals -> ../init.d/sendsignals
│ │ ├── S70mountfs -> ../init.d/mountfs
│ │ ├── S80swap -> ../init.d/swap
│ │ ├── S90localnet -> ../init.d/localnet
│ │ └── S99reboot -> ../init.d/reboot
│ └── rcsysinit.d
│ ├── S00mountkernfs -> ../init.d/mountkernfs
│ ├── S02consolelog -> ../init.d/consolelog
│ ├── S05moles -> ../init.d/moles
...
├── udev
│ ├── rules.d
│ │ └── 55-lfs.rules
│ └── udev.conf
└── vimrc

network脚本
#!/bin/sh

. /etc/sysconfig/rc
. ${rc_functions}
. /etc/sysconfig/network

case "${1}" in
start)
# Start all network interfaces
for file in ${network_devices}/ifconfig.*
do
interface=${file##*/ifconfig.}

# skip if $file is * (because nothing was found)
if [ "${interface}" = "*" ]
then
continue
fi

IN_BOOT=1 ${network_devices}/ifup ${interface}
done
;;

stop)
# Reverse list
FILES=""
for file in ${network_devices}/ifconfig.*
do
FILES="${file} ${FILES}"
done

# Stop all network interfaces
for file in ${FILES}
do
interface=${file##*/ifconfig.}

# skip if $file is * (because nothing was found)
if [ "${interface}" = "*" ]
then
continue
fi

IN_BOOT=1 ${network_devices}/ifdown ${interface}
done
;;

restart)
${0} stop
sleep 1
${0} start
;;

*)
echo "Usage: ${0} {start|stop|restart}"
exit 1
;;
esac

# End /etc/rc.d/init.d/network



⑩ 2440 linux 如何在文件系统启动后自动运行我的程序

开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。

下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。

1.进入pc机的Linux 操作系统,在/nfs/usr/下通过mkdir lz 命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir hello新建一个hello文件夹用来存放我们将要编写的hello.c文件和编译生成的可执行文件。

2.在/nfs/usr/lz/hello下通过vi hello.c命令新建hello.c文件,编辑如下测试程序:

#include <stdio.h>

int main(){

printf("Hello,test arm-linux!\n");

return 0;

}

完成编辑后通过:wq保存后退出。

3.主机通过如下命令交叉编译环境编译hello.c:

#arm-linux-gcc –o hello hello.c

4.通过ls 命令可以看到在/nfs/usr/lz/hello/下已经生成了hello可执行文件,我们可以在开发板上通过./hello来测试自己编写的hello.c执行情况

5.修改rc.local文件,在文件的最后通过‘#’释掉启动图形界面的指令,增加执行用户应用程序hello的指令,具体实现如下:

#export PATH=$QPEDIR/bin:$PATH

#qtopia

#/usr/qtopia/bin/qtopia

/usr/lz/hello/./hello

注:前三行是注释掉启动图形界面,最后一行是添加的执行用户的hello测试程序。

6.重启开发板,通过vivi参数配置让开发板通过nfs挂载主机上的文件系统,这时我们就可以通过超级终端看到开发板已经运行了我们编写的hello程序。

阅读全文

与linux文件系统启动相关的资料

热点内容
荣耀x10拍照算法 浏览:566
androidgradle配置签名 浏览:92
文件夹左边的空心三角符号是什么 浏览:282
app英语音频试卷扫码怎么听 浏览:611
字符串编译预处理 浏览:699
苹果手机怎么会显示多个App 浏览:238
不去互联网程序员 浏览:552
电脑qq邮箱解压的图片保存在哪里 浏览:544
嵌入命令行 浏览:91
档案为什么被加密 浏览:486
十天学会单片机13 浏览:875
荣耀怎么设置让app一直运行 浏览:993
共享文件夹能在哪里找到 浏览:435
旅游订旅店用什么app 浏览:240
一个女程序员的声音 浏览:497
魔术app怎么用 浏览:340
单片机有4个8位的io口 浏览:897
win10rar解压缩软件 浏览:169
plc教程pdf 浏览:668
pythonshell清屏命令 浏览:281