2014-03-28 65 views
1

我正试图改变Beaglebone黑色闪屏。 我正在使用Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.06.20.img.xz图像。如何在beaglebone启动的早期阶段启动服务?

我编译了psplash源代码(如https://groups.google.com/forum/#!msg/beagleboard/HRDjAtsPO68/dc7gIZTynQkJ中所述),现在psplash可以正常工作。

为了自动启动psplash,我创建了一个名为psplash.service的新系统服务,并使用命令“systemctl enable psplash.service”启用了它。

问题是:当Beaglebone靴子启动时,psplash会稍微晚一点启动,您可以看到标准beaglebone徽标的几个 秒。如何配置服务以便尽快运行psplash?

有没有比启动psplash程序的系统服务更好的方法? 下面是系统服务文件:

[Unit] 
Description=Splash screen 

[Service] 
WorkingDirectory=/home/root/ 
ExecStart=/usr/local/bin/psplash 
SyslogIdentifier=psplash 

[Install] 
WantedBy=multi-user.target 

回答

0

默认Systemd服务有依存关系,以便消除依赖将使其早日启动该服务。

[Unit] 
Description=Splash screen 
DefaultDependencies=no 

[Service] 
Type=oneshot 
ExecStart=/usr/local/bin/psplash 

[Install] 
WantedBy=basic.target 

这会导致它在其他依赖项之前启动。您可以使用After=...Before=...在[单元]块内添加相关性。但要小心Before=...,因为它会等待psplash结束,因为psplash会自行运行,可能会导致启动挂起。

这将导致该服务在systemd过程中运行得更早,但我仍在寻找其他方式使其更早启动。

+0

查看启动手册页以查看显示某些标准启动同步点(目标)的良好图表, – mdur