Forum
[SOLVED] Modifying boot splash - Printable Version

+- Forum (http://forum.xbian.org)
+-- Forum: Software (/forum-6.html)
+--- Forum: Testing & Experimental (/forum-21.html)
+--- Thread: [SOLVED] Modifying boot splash (/thread-1217.html)



Modifying boot splash - markosjal - 10th Aug, 2013 10:01 PM

In xbian 1.1 beta I want to customize the boot splash (X jumping out of square box).

I see the following files but they only seem to be used on shutdown or reboot

/root/@/usr/bin/splash.images/logo.jpg
/root/@safe/usr/bin/splash.images/logo.jpg

I know the package plymouth provides similar spalsh screens in ubuntu distros, and appears to be installed, but do not know if that is what is used here or if there is another image file that I did not find. I have looked on both partitions.


RE: Modifying boot splash - Koenkk - 10th Aug, 2013 11:06 PM

You have to update the initramfs, look at the git repo xbianonpi/xbian-package-initramfs for the documentation


RE: Modifying boot splash - markosjal - 12th Aug, 2013 09:08 AM

(10th Aug, 2013 11:06 PM)Koenkk Wrote:  You have to update the initramfs, look at the git repo xbianonpi/xbian-package-initramfs for the documentation


Did not see docs there on github
https://github.com/xbianonpi/xbian-package-initramfs
but I did look at the code and tried

Code:
xbian-update-initramfs


The changes to the boot logo worked however I now get an error at start of xbmc

"Script error...maintenance.py" and the system gets no IP address.

I imagine that something must get included manually in the aforementioned command line or it is a bug.

found

splash_updater.sh

in etc/xbian-initramfs


mabe that is all I need?


RE: Modifying boot splash - Koenkk - 12th Aug, 2013 05:08 PM

Yes that should be it, can't hp you any further because I'm on holiday now so no access to my pi/laptop.


RE: Modifying boot splash - mk01 - 12th Aug, 2013 07:39 PM

(10th Aug, 2013 10:01 PM)markosjal Wrote:  In xbian 1.1 beta I want to customize the boot splash (X jumping out of square box).

I see the following files but they only seem to be used on shutdown or reboot

/root/@/usr/bin/splash.images/logo.jpg
/root/@safe/usr/bin/splash.images/logo.jpg

plymouth is not used. it hard dependency for upstart, so is (just) installed.

/root/@/usr ... is "/" partition when xbian is loaded. logo.jpg (as other jpgs) is loaded into memory together with start of splash.

when you finish changing the logo.jpg, run "sudo xbian-update-initramfs". it will be transferred to initramfs.gz and properly used during boot. otherwise, old logo (saved in initramfs) would be used - until you do splash --exit (or pkill splash) and starts it again on started system\ (then the logo.jpg from rootfs will be reloaded upon start of new instance of splash)


RE: Modifying boot splash - markosjal - 12th Aug, 2013 08:07 PM

So I found the cause of the script error and it has nothing todo with updating initramfs. It is pureley coincidental that an add on updated duiring the process. I suspeact that same add on corrupted the networking .

On this new attempt , the boot splash updated perfectly and all works

My only remaining question is wgere the boot/reboot/shutdown text all comes from, especiall whwre it erroneously says "powered off" instead of powering off


RE: Modifying boot splash - mk01 - 12th Aug, 2013 08:37 PM

(12th Aug, 2013 08:07 PM)markosjal Wrote:  My only remaining question is wgere the boot/reboot/shutdown text all comes from, especiall whwre it erroneously says "powered off" instead of powering off

yes and no ("erroneously"). it was powering off, but because RPI never turns off - and depends on difference between "shutdown -h now" and "shutdown -P now" what RPI does after that point - it was misleading some users to wait long minutes until RPI finally power off. so we changed the texting.

just after the text "powered off", init will issue poweroff or halt to the kernel, so it's safe to remove power out.

if you have better texting idea, feel free. we will change.


Custom init/power off logo - xtsimpouris - 6th Sep, 2013 05:56 PM

Hi!
I have been using XBian for a long time and I just installed the new XBian. I am playing around with the logo that shows at the beginning, maybe to change it to something more family related (a photo, etc). I found that the current logo exists in /root/@/usr/bin/splash.images/logo.jpg (and the equivalent @safe folder).

I replaced the file, with a new jpg with the same height (290px). However, this new logo is shown only during the power off message. Is the init logo somewhere or is it just hardcoded? I also tried to replace the file under th @safe folder, nothing changed.
If this is easy, I would be really happy to write it down as a tutorial.
Keep up the good work!


RE: Custom init/power off logo - xtsimpouris - 6th Sep, 2013 07:08 PM

Probably duplicate of http://forum.xbian.org/thread-1217.html


RE: Modifying boot splash - rikardo1979 - 6th Sep, 2013 07:15 PM

(6th Sep, 2013 07:08 PM)xtsimpouris Wrote:  Probably duplicate of http://forum.xbian.org/thread-1217.html

indeed Wink
So merged yours into this existing thread
-thx



RE: Modifying boot splash - xtsimpouris - 6th Sep, 2013 07:20 PM

So, I changed the logo file
Then, executed
Terminal

xbian-update-initramfs

And the output was
Terminal

xbian-update-initramfs called directly. Staring the update process.
Updating initramfs as requested by trigger. Kernel modules 3.9.8+.
`/bin/busybox' -> `./bin/busybox'
/lib/arm-linux-gnueabihf -> ./lib/arm-linux-gnueabihf
`/lib/arm-linux-gnueabihf/libc.so.6' -> `./lib/arm-linux-gnueabihf/libc.so.6'
`/lib/arm-linux-gnueabihf/libc-2.13.so' -> `./lib/arm-linux-gnueabihf/libc-2.13.so'
`/lib/ld-linux-armhf.so.3' -> `./lib/ld-linux-armhf.so.3'
`/lib/arm-linux-gnueabihf/ld-2.13.so' -> `./lib/arm-linux-gnueabihf/ld-2.13.so'
cp: omitting directory `/etc/udev/rules.d'
cp: cannot stat `/etc/modprobe.d/xbian.conf': No such file or directory
/lib/modules/3.9.8+ -> ./lib/modules/3.9.8+
/lib/modules/3.9.8+/kernel -> ./lib/modules/3.9.8+/kernel
/lib/modules/3.9.8+/kernel/drivers -> ./lib/modules/3.9.8+/kernel/drivers
`/lib/modules/3.9.8+/kernel/drivers/scsi' -> `./lib/modules/3.9.8+/kernel/drivers/scsi'
`/lib/modules/3.9.8+/kernel/drivers/scsi/ch.ko' -> `./lib/modules/3.9.8+/kernel/drivers/scsi/ch.ko'
`/lib/modules/3.9.8+/kernel/drivers/scsi/osst.ko' -> `./lib/modules/3.9.8+/kernel/drivers/scsi/osst.ko'
`/lib/modules/3.9.8+/kernel/drivers/scsi/sg.ko' -> `./lib/modules/3.9.8+/kernel/drivers/scsi/sg.ko'
`/lib/modules/3.9.8+/kernel/drivers/scsi/sr_mod.ko' -> `./lib/modules/3.9.8+/kernel/drivers/scsi/sr_mod.ko'
`/lib/modules/3.9.8+/kernel/drivers/scsi/st.ko' -> `./lib/modules/3.9.8+/kernel/drivers/scsi/st.ko'
/lib/modules/3.9.8+/kernel/drivers/usb -> ./lib/modules/3.9.8+/kernel/drivers/usb
`/lib/modules/3.9.8+/kernel/drivers/usb/storage' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-alauda.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-alauda.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-cypress.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-cypress.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-datafab.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-datafab.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-eneub6250.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-eneub6250.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-freecom.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-freecom.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-isd200.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-isd200.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-jumpshot.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-jumpshot.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-karma.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-karma.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-onetouch.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-onetouch.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-realtek.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-realtek.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-sddr09.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-sddr09.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-sddr55.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-sddr55.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-usbat.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/ums-usbat.ko'
`/lib/modules/3.9.8+/kernel/drivers/usb/storage/usb-storage.ko' -> `./lib/modules/3.9.8+/kernel/drivers/usb/storage/usb-storage.ko'
`/lib/modules/3.9.8+/modules.builtin' -> `./lib/modules/3.9.8+/modules.builtin'
`/lib/modules/3.9.8+/modules.order' -> `./lib/modules/3.9.8+/modules.order'
copying module /lib/modules/3.9.8+/kernel/fs/btrfs/btrfs.ko
copying module /lib/modules/3.9.8+/kernel/crypto/xor.ko
copying module /lib/modules/3.9.8+/kernel/lib/zlib_deflate/zlib_deflate.ko
copying module /lib/modules/3.9.8+/kernel/lib/raid6/raid6_pq.ko
copying module /lib/modules/3.9.8+/kernel/lib/libcrc32c.ko
copying module /lib/modules/3.9.8+/kernel/lib/zlib_inflate/zlib_inflate.ko
copying module /lib/modules/3.9.8+/kernel/fs/ext4/ext4.ko
copying module /lib/modules/3.9.8+/kernel/fs/mbcache.ko
copying module /lib/modules/3.9.8+/kernel/fs/jbd2/jbd2.ko
copying module /lib/modules/3.9.8+/kernel/fs/fat/vfat.ko
copying module /lib/modules/3.9.8+/kernel/fs/fat/fat.ko
copying module /lib/modules/3.9.8+/kernel/drivers/char/frandom.ko
`/sbin/ifconfig' -> `./sbin/ifconfig'
`/lib/arm-linux-gnueabihf/libgcc_s.so.1' -> `./lib/arm-linux-gnueabihf/libgcc_s.so.1'
/usr/local -> ./usr/local
/usr/local/sbin -> ./usr/local/sbin
`/usr/local/sbin/xbian-frandom' -> `./usr/local/sbin/xbian-frandom'
not a dynamic executable
`/bin/mountpoint' -> `./bin/mountpoint'
`/sbin/udevd' -> `./sbin/udevd'
`/lib/arm-linux-gnueabihf/libselinux.so.1' -> `./lib/arm-linux-gnueabihf/libselinux.so.1'
`/lib/arm-linux-gnueabihf/librt.so.1' -> `./lib/arm-linux-gnueabihf/librt.so.1'
`/lib/arm-linux-gnueabihf/librt-2.13.so' -> `./lib/arm-linux-gnueabihf/librt-2.13.so'
`/lib/arm-linux-gnueabihf/libdl.so.2' -> `./lib/arm-linux-gnueabihf/libdl.so.2'
`/lib/arm-linux-gnueabihf/libdl-2.13.so' -> `./lib/arm-linux-gnueabihf/libdl-2.13.so'
`/lib/arm-linux-gnueabihf/libpthread.so.0' -> `./lib/arm-linux-gnueabihf/libpthread.so.0'
`/lib/arm-linux-gnueabihf/libpthread-2.13.so' -> `./lib/arm-linux-gnueabihf/libpthread-2.13.so'
`/sbin/udevadm' -> `./sbin/udevadm'
`/sbin/findfs' -> `./sbin/findfs'
`/lib/arm-linux-gnueabihf/libblkid.so.1' -> `./lib/arm-linux-gnueabihf/libblkid.so.1'
`/lib/arm-linux-gnueabihf/libblkid.so.1.1.0' -> `./lib/arm-linux-gnueabihf/libblkid.so.1.1.0'
`/lib/arm-linux-gnueabihf/libuuid.so.1' -> `./lib/arm-linux-gnueabihf/libuuid.so.1'
`/lib/arm-linux-gnueabihf/libuuid.so.1.3.0' -> `./lib/arm-linux-gnueabihf/libuuid.so.1.3.0'
`/sbin/blkid' -> `./sbin/blkid'
`/sbin/sfdisk' -> `./sbin/sfdisk'
`/sbin/tune2fs' -> `./sbin/tune2fs'
`/lib/arm-linux-gnueabihf/libext2fs.so.2' -> `./lib/arm-linux-gnueabihf/libext2fs.so.2'
`/lib/arm-linux-gnueabihf/libext2fs.so.2.4' -> `./lib/arm-linux-gnueabihf/libext2fs.so.2.4'
`/lib/arm-linux-gnueabihf/libcom_err.so.2' -> `./lib/arm-linux-gnueabihf/libcom_err.so.2'
`/lib/arm-linux-gnueabihf/libcom_err.so.2.1' -> `./lib/arm-linux-gnueabihf/libcom_err.so.2.1'
`/lib/arm-linux-gnueabihf/libe2p.so.2' -> `./lib/arm-linux-gnueabihf/libe2p.so.2'
`/lib/arm-linux-gnueabihf/libe2p.so.2.3' -> `./lib/arm-linux-gnueabihf/libe2p.so.2.3'
`/sbin/e2fsck' -> `./sbin/e2fsck'
`/sbin/resize2fs' -> `./sbin/resize2fs'
`/bin/kmod' -> `./bin/kmod'
`/lib/arm-linux-gnueabihf/libkmod.so.2' -> `./lib/arm-linux-gnueabihf/libkmod.so.2'
`/lib/arm-linux-gnueabihf/libkmod.so.2.1.3' -> `./lib/arm-linux-gnueabihf/libkmod.so.2.1.3'
`/sbin/modprobe' -> `./sbin/modprobe'
`/bin/kmod' -> `./bin/kmod'
`/bin/grep' -> `./bin/grep'
`/lib/arm-linux-gnueabihf/ld-linux.so.3' -> `./lib/arm-linux-gnueabihf/ld-linux.so.3'
`/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3' -> `./lib/arm-linux-gnueabihf/ld-linux-armhf.so.3'
`/sbin/killall5' -> `./sbin/killall5'
`/sbin/switch_root' -> `./sbin/switch_root'
`/sbin/rmmod' -> `./sbin/rmmod'
`/sbin/insmod' -> `./sbin/insmod'
`/sbin/btrfs' -> `./sbin/btrfs'
`/sbin/btrfs-convert' -> `./sbin/btrfs-convert'
/usr/sbin -> ./usr/sbin
`/usr/sbin/thd' -> `./usr/sbin/thd'
`/usr/sbin/th-cmd' -> `./usr/sbin/th-cmd'
`/usr/bin/pkill' -> `./usr/bin/pkill'
`/usr/bin/pgrep' -> `./usr/bin/pgrep'
`/lib/arm-linux-gnueabihf/libprocps.so.0' -> `./lib/arm-linux-gnueabihf/libprocps.so.0'
`/lib/arm-linux-gnueabihf/libprocps.so.0.0.1' -> `./lib/arm-linux-gnueabihf/libprocps.so.0.0.1'
`/usr/bin/pgrep' -> `./usr/bin/pgrep'
`/usr/bin/splash' -> `./usr/bin/splash'
cp: reading `/usr/share/images/splash/logo.jpg': Input/output error
cp: failed to extend `./usr/share/images/splash/logo.jpg': Input/output error
`/usr/bin/key' -> `./usr/bin/key'
/lib/udev -> ./lib/udev
`/lib/udev/hotplug.functions' -> `./lib/udev/hotplug.functions'
`/lib/udev/firmware.agent' -> `./lib/udev/firmware.agent'
`/lib/udev/ata_id' -> `./lib/udev/ata_id'
`/lib/udev/edd_id' -> `./lib/udev/edd_id'
`/lib/udev/scsi_id' -> `./lib/udev/scsi_id'
cp: cannot stat `/lib/udev/vio_type': No such file or directory
`/lib/udev/findkeyboards' -> `./lib/udev/findkeyboards'
`/lib/udev/keymap' -> `./lib/udev/keymap'
`/lib/udev/keyboard-force-release.sh' -> `./lib/udev/keyboard-force-release.sh'
`/lib/udev/udev-acl' -> `./lib/udev/udev-acl'
/lib/udev/rules.d -> ./lib/udev/rules.d
`/lib/udev/rules.d/50-udev-default.rules' -> `./lib/udev/rules.d/50-udev-default.rules'
`/lib/udev/rules.d/60-persistent-storage.rules' -> `./lib/udev/rules.d/60-persistent-storage.rules'
`/lib/udev/rules.d/80-drivers.rules' -> `./lib/udev/rules.d/80-drivers.rules'
`/lib/udev/rules.d/91-permissions.rules' -> `./lib/udev/rules.d/91-permissions.rules'
cp: cannot stat `/lib/udev/rules.d/60-persistent-storage-lvm.rules': No such file or directory
`/lib/udev/rules.d/60-persistent-input.rules' -> `./lib/udev/rules.d/60-persistent-input.rules'
`/lib/udev/rules.d/55-dm.rules' -> `./lib/udev/rules.d/55-dm.rules'
`/lib/udev/rules.d/60-persistent-storage-dm.rules' -> `./lib/udev/rules.d/60-persistent-storage-dm.rules'
`/lib/udev/rules.d/95-keymap.rules' -> `./lib/udev/rules.d/95-keymap.rules'
`/lib/udev/rules.d/95-keyboard-force-release.rules' -> `./lib/udev/rules.d/95-keyboard-force-release.rules'
`/lib/udev/rules.d/70-btrfs.rules' -> `./lib/udev/rules.d/70-btrfs.rules'
`/lib/udev/rules.d/01-frandom.rules' -> `./lib/udev/rules.d/01-frandom.rules'
`/lib/udev/rules.d/99-frandom.rules' -> `./lib/udev/rules.d/99-frandom.rules'
cp: reading `/etc/xbian-initramfs/init': Input/output error
cp: failed to extend `./init': Input/output error
`/usr/bin/stdbuf' -> `./usr/bin/stdbuf'
/usr/lib/coreutils -> ./usr/lib/coreutils
`/usr/lib/coreutils/libstdbuf.so' -> `./usr/lib/coreutils/libstdbuf.so'
Creating initram fs.
15654 blocks 2.8 MiB / 7.4 MiB = 0.379 133 KiB/s 0:57
100 % 2970.9 KiB / 7827.0 KiB = 0.380 134 KiB/s 0:58

It seems that something didn't go well with the file and printed
Terminal

cp: reading `/usr/share/images/splash/logo.jpg': Input/output error
cp: failed to extend `./usr/share/images/splash/logo.jpg': Input/output error

However, file is correct as it is shown when xbian is shutting down
Anyway, after reboot, xbian is not loading any more, neither ssh-logging is capable and screen is showing:

Terminal

can't run /etc/init.d/rcS: No such file or directory
Please press Enter to activate this console

UPDATE: After a clean reinstallation to the sd card, I followed the same procedure and boot image is now set. Hoorei Smile


RE: Modifying boot splash - mk01 - 8th Sep, 2013 08:20 AM

thanks for update. can you please change subject to "SOLVED: xxxx " ?


RE: Modifying boot splash - xtsimpouris - 9th Sep, 2013 10:02 PM

Got happy too soon. Today system showed this error (attached pic):
Terminal
To dropdown to shell, hold shift on usb attached keyboard...
Loading initram modules ...
Mounting root as: mount -t btrfs -o rw,subvol=root/@,noatime,compress=izo,thread_pool=1,space_cache,autodefrag /dev/mmcblk0p2 /rootfs
mount: mounting /dev/mmcblk0p2 on /rootfs failed: Invalid argument
Mounting root partition /dev/mmcblk0p2 failed

BusyBox v1.20.2 (Debian 1:1.20.0-7) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
/ # _

To be honest, I don't know if this error is relevant to this thread. However, as this error was shown after a clean installation and just making the above procedure to change the pic, I post it here to be crawled for others. At this point (new installation), I won't make any change at all to see how it goes and post back again if I have any news!


RE: Modifying boot splash - mk01 - 9th Sep, 2013 10:45 PM

everything can be related to everything.

the steps to change splash logo are very simple and require no system edit / changes (simply no hacking).

1) logo and supplemental gfx is under /usr/bin/splash.images as jpg files
2) change logo.jpg, start splash you will see result immediately
3) if ok, just run "sudo xbian-update-initramfs"

that's all.

for your case, check /boot/initramfs.gz.old, if is still in tact. rename it to /boot/initramfs.gz and try to boot.