linux上电启动过程
时间: 2024-06-01 14:06:36 浏览: 97
Linux的启动过程可以分为以下几个步骤:
1. BIOS自检:计算机通电后,BIOS开始进行自检,检测硬件的状态,确定能否正常启动。
2. BootLoader启动:BIOS完成自检后,会在硬盘上查找并加载BootLoader程序,一般常用的是GRUB或LILO。
3. 内核加载:BootLoader会将内核加载到内存中,并且将控制权交给内核。此时内核开始初始化并启动系统。
4. init进程启动:内核初始化完成后,会启动init进程,init进程是所有用户空间进程的祖先进程,它负责启动所有用户空间进程。
5. 系统初始化:init进程根据配置文件/etc/inittab来启动一些系统服务,例如udev,syslogd等等。
6. 用户登录:系统服务启动完成后,会进入登录界面,用户可以输入用户名和密码来登录系统。
相关问题
linux开发板上电启动
在Linux开发板上电启动的过程如下:
1. 开机后,输入root登录,此时可以进入开发板的终端窗口,可以通过该终端窗口进行调试和操作。
2. 在/etc/init.d文件夹中,可以放置你要执行的操作,可以是一个启动脚本或者可执行程序。例如,可以创建一个名为hello的启动脚本,将其放置在/etc/init.d文件夹中。
3. 在/etc/rc3.d文件夹中,创建一个链接文件,将刚刚创建的启动脚本链接到该文件夹中。可以使用以下命令创建链接文件:ln -s /etc/init.d/hello /etc/rc3.d/S05hello。这样,在系统启动时,会按照指定的顺序执行链接文件中的脚本或程序,从而实现自动启动。
4. 在创建的启动脚本中,可以编写自己的逻辑,例如设置环境变量、执行特定的命令或运行可执行程序等。以下是一个示例的启动脚本:
#!/bin/bash
echo "*****Hello******"
cd /lib
sleep 30
./可执行程序 &
在这个示例中,启动脚本会输出一条"*****Hello******"的消息,并进入/lib目录,延迟30秒后运行一个可执行程序。
通过以上步骤和配置,当Linux开发板上电启动时,系统会自动执行指定的启动脚本或程序,完成相应的初始化和操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [linux开发板开机自启动应用和部分开发板免登录功能实现](https://blog.csdn.net/weixin_52627168/article/details/129578584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [linux开发板设置自启动脚本](https://blog.csdn.net/qq_45766232/article/details/129934928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
linux开发板上电启动 中断向量表
在Linux开发板上电启动时,中断向量表是由硬件控制的,并且存放在BIOS的代码中。具体来说,中断向量表会存放在BIOS代码的最后几KB的地址范围内(通常是0xfe000~0xfffff)。启动过程中,当cs:eip等于0xffff:0x00000(也可以表示为0xffff0)时,这是BIOS执行的第一条指令,也是最开始启动的地方。
同时,在启动过程中,还需要修改cpu/arm920t/start.S文件来完成U-Boot的重定向。这个文件中包含了对中断的禁止部分的修改。对于S3C2410芯片,可以根据其特定的地址进行修改。
最后,在完成中断向量表的设置和U-Boot的重定向后,系统会开始执行Linux操作系统的初始化工作,主要是通过返回到main函数来进行。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Linux上电初始化--BOSI启动和boot环境设置](https://blog.csdn.net/weixin_33734005/article/details/116753094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [uboott移植实验手册及技术文档](https://download.csdn.net/download/yequnanren/2030925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文