linux内核开机进度条,ARM核心板如何在Linux启动时显示开机进度条?

ARM核心板如何在Linux启动时显示开机进度条?

本文基于ZLG ARM9开发套件,主要介绍了如何实现在Linux操作系统启动时显示开机进度条,其方法适用于其他产品。

开发主机环境:

Ubuntu 12.04(64位)、arm-none-linux-gnueabi-gcc系列交叉工具链

硬件清单:

EasyARM-i.MX257开发套件或EasyARM-i.MX283A/287A开发套件或EPC-28xC-L工控板 等

软件资源:

产品光盘资料

进度条实现的源文件:boot_process.c

1.1解压内核源码包

将产品光盘资料中的linux-2.6.31.tar.bz2内核源码包复制到ubuntu系统的“~/”目录,解压可得到linux-2.6.31目录,参考命令如下:

vmuser@Linux-host:~$ tar jxvf linux-2.6.31.tar.bz2

1.2复制boot_process.c文件

将ZLG提供的boot_process.c文件(可以通过400-888-4005 或发邮件至epc@zlgmcu.com索取文件或更为详细的操作方法)拷贝到“~/linux-2.6.31/drivers/video/logo”目录下,如图1所示:

jszt2016121901.jpg

图1 复制boot_process.c

进入该目录使用vi指令编辑其中的Makefile文件:

vmuser@Linux-host:~$ cd linux-2.6.31/drivers/video/logo

vmuser@Linux-host:~/ linux-2.6.31/drivers/video/logo$ vi Makefile

按下“20gg”定位到第20行,然后按i键进入插入模式,输入如下所示内容:

obj-y+= boot_process.o

修改后这部分代码应如图2所示:

jszt2016121902.jpg

图2 修改后的代码

修改完毕后,保存并退出编辑器。

1.3定制boot_process.c

在boot_process.c文件中定义了几个宏,可供用户参考定制自己的进度条。这些宏的定义以及用法如下所示:

CONFIG_BOOT_PROCESS,开启或关闭进度条显示功能

CONFIG_BOOT_PROCESS_BLOCK,选择启用块状进度条,与条状进度条互斥

CONFIG_BOOT_PROCESS_BAR,选择启用条状进度条,与块状进度条互斥

CONFIG_PROCESS_DURATION,延长或缩短进度条的持续时间

PROCESS_BLOCK_NUM,修改进度条每一格的填充宽度

1.4重新编译内核

返回“~/linux-2.6.31”目录并重新编译内核,参考命令如下:

vmuser@Linux-host:~/ linux-2.6.31/drivers/video/logo$ cd ../../..

vmuser@Linux-host:~/ linux-2.6.31$ make uImage

编译完成后生成的固件存放在“arch/arm/boot”目录下,如图3所示:

jszt2016122001.jpg

图3 生成uImage

将这个固件重新烧写进开发套件,具体的烧写过程请参考产品光盘资料中的开发指南或用户手册。

1.5开机启动系统

将开发套件连接好液晶屏以及电源线,然后开机启动系统,可以看到在Linux小企鹅的下方出现了进度条,如图4所示。

jszt2016122002.jpg

图4 开机进度条

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值