内核处理cmdline和atags流程

简介: BootLoader可以向Linux传递参数,编译内核时也可以配置boot options。 调试中使用的U-Boot bootargs如下: noinitrd root=/dev/mtdblock3 rw console=ttySAC0,115200 init=/linuxrc mem=64M 内核版本: 2.

BootLoader可以向Linux传递参数,编译内核时也可以配置boot options

调试中使用的U-Boot bootargs如下:

noinitrd root=/dev/mtdblock3 rw console=ttySAC0,115200 init=/linuxrc mem=64M

内核版本:

2.6.35.7

内核的处理参数的整体过程如下:

u-boot将配置参数地址通过寄存器传递给内核

内核(arch/arm/kernel/head-common.S 中的 __mmap_switched)将这个地址存入__atags_pointer(定义于

        &init_tags

        

        

 

        

 

        

        

        

 

        

                  

 

                                                      

                  

        

                   

 

        

         

         

         

        

                  

        

                  &init_tags      

 

        

                  &from&meminfo

 

        

                                 

                           

                  

                              

        

 

        

          

          

              

 

        

                

 

        

        

        

 

                      

 

        

        &meminfo

        

        

 

 

&command_line

     

                    

                    &unknown_bootoption

 

     

           

        

 

 

     

 

     

        

                                        

                  

                  

                           

                  

                           

                           

                           

                  

                           

        

 

        

        

                  

 

        

        &&

                  

 

        

                  

 

            

                  

                  

                  

                           

                                    

                                    

                           

                           

                                    

                  

                  

             

                  

                  

                  

                           

                                    

                                    

                           

                  

                  

        

        

 

    

目录
相关文章
|
5月前
|
Linux 测试技术 API
xenomai内核解析之xenomai初探
本文是关于Xenomai实时操作系统的初探,Xenomai是一个实时性增强的Linux系统,它通过实时内核和用户空间库提供硬实时性能。Xenomai 3主要由实时内核Cobalt、实时驱动模型RTDM、用户空间库libcobalt等组成,支持两种构建实时系统的方式:Cobalt和Mercury。Cobalt在内核空间与标准Linux内核并存,通过I-Pipe处理中断,确保实时任务的执行。Mercury则是通过修改Linux内核实现。
399 0
xenomai内核解析之xenomai初探
|
5月前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
162 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
5月前
|
存储 安全 Linux
Linux 内核启动流程与入口函数分析
Linux 内核启动流程与入口函数分析
190 0
|
Linux 项目管理 开发者
Linux内核基础篇——printk调试
Linux内核基础篇——printk调试
|
Linux
内核是如何运行ko文件的--系统调用
内核是如何运行ko文件的--系统调用
298 0
|
Linux 数据安全/隐私保护