您尚未登录。

楼主 #1 2019-01-02 20:25:01

小菜
会员
注册时间: 2018-12-06
已发帖子: 45
积分: 45

psplash应用

psplash可以实现开机进度条,但是我编译完之后可以显示一个静态画面,进度条没有变化。请教哪位大侠用过,指点一下。

离线

楼主 #2 2019-01-02 21:07:12

小菜
会员
注册时间: 2018-12-06
已发帖子: 45
积分: 45

Re: psplash应用

psplash生成:
1.下载psplash:git clone git://git.yoctoproject.org/psplash
2.将图片转换成代码文件:./make-image-header.sh xxxlogo.png POKY,生成图片文件xxxlogo.c,xxxlogo.h
3.修改xxxlogo.c,将#include "psplash-poky-img.h"替换成#include "xxxlogo.h"
4.制作autogen.sh脚本,用于生成Makefile,如下
#!/bin/bash
aclocal
autoheader
automake --add-missing
autoconf
5.生成Makefile:./autogen.sh
6.配置交叉编译库:./configure --host=arm-linux CC=arm-linux-gnueabihf-g
7.执行make:生成psplash与psplash-write。
8.将psplash与psplash-write拷贝到根文件系统/usr/bin/目录下。
9.psplash.sh脚本在根文件系统/etc/init.d中,此项已经存在。
10.psplash.sh的链接在根文件系统/etc/rcS.d/目录下,用于开机启动。
---------------------
原文:https://blog.csdn.net/liming8754955/article/details/78506247

离线

楼主 #3 2019-01-02 21:14:38

小菜
会员
注册时间: 2018-12-06
已发帖子: 45
积分: 45

Re: psplash应用

终于稿明白了,启动psplash后,手动echo "PROGRESS 100" > /mnt/.psplash/psplash_fifo 可以直接看到效果,在每个启动任务启动的时候加上echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo 就可以以实现进度条变化了。

在/etc/init.d/rcS中增加如下:

startup_progress() {
    # 当前进度大小=上一次的进度+上每次的进度的变化值
    step=$(($step + $step_change))
    if [ "$num_steps" != "0" ]; then
        # 这里相当于重新计算当前step占进度条的百分比
        progress=$((($step * $progress_size / $num_steps) + $first_step))
    else
        # 直接就是100%了
        progress=$progress_size
    fi
    #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size"
    #if type psplash-write >/dev/null 2>&1; then
    #    TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true
    #fi
    # 将上面的progress的值写入fifo中去,echo的值是固定的。
    if [ -e /mnt/.psplash/psplash_fifo ]; then
        echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo
    fi
}

---------------------
原文:https://www.cnblogs.com/zengjfgit/p/5116713.html

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn