bootargs是指启动参数,在Linux内核启动时将根文件系统和内核空间地址传递给内核的参数。其实它就是U-Boot中Linux内核的参数接口,U-Boot会将bootargs传递给Linux内核。
bootargs一般由三部分构成:启动参数、内核空间地址、根文件系统。在u-boot中设置好的启动参数会被放入环境变量中,如bootcmd和bootargs,然后执行bootm命令时,bootm会将bootargs的值传递给linux内核。
bootargs在嵌入式环境中非常重要,因为嵌入式平台上由于处理器速度、存储大小、外部资源的限制,Linux内核不能进行全部的初始化。启动参数bootargs实际上就是在启动Linux内核时传递给内核的初始化参数。这些参数的设置可用于指定设备树文件,设置串口调试等,也可以针对LINUX内核进行调试,进行运行期参数修改等。总之,用户可以将需要在启动的时候告诉Linux内核的参数通过设置bootargs来实现。
嵌入式系统启动了Uboot之后,Uboot会默认从NVRAM中加载环境变量(包括bootargs)的值。若需要修改其中的某个值,则应该使用setenv命令来设置。例如:设置bootargs的值,可以使用“setenv bootargs console=ttyS0,115200 root=/dev/nfs ip=dhcp”,然后必须保存环境变量,使用“saveenv”命令将其保存到NVRAM中,以便在下次启动时可以自动载入。
bootargs的参数非常丰富,但是在嵌入式系统中,受硬件资源和开发人员技能限制,平常用的比较多的参数就是:
当我们希望进一步调试内核的时候,也可以增加一些常用的bootargs参数: