Skip to content

Instantly share code, notes, and snippets.

@supechicken
Created June 7, 2022 16:19
Show Gist options
  • Save supechicken/c57f8bb4b9dad2a29611ce05b1324b5c to your computer and use it in GitHub Desktop.
Save supechicken/c57f8bb4b9dad2a29611ce05b1324b5c to your computer and use it in GitHub Desktop.
[Tutorial]: Custom boot splash screen/animation on Chrome/Chromium OS

Custom boot splash screen/animation on Chrome/Chromium OS

Before you start...

You can find tutorials about these online

  • Enable Chrome OS developer mode
  • Disable root filesystem verification, remount root filesystem as read/write

Steps

  • Pick a .gif image that you wish to be the boot splash animation
  • Go to https://ezgif.com/split, upload the .gif file
  • Select Output images in PNG format in Split options
  • Click Split to frames
  • Unzip the downloaded archive
  • The filename of images in archive will be look like this:
frame_00_delay-0.11s.png
frame_01_delay-0.11s.png
...snip...
  • Rename those images to boot_splash_frame<frame_number>.png (replace <frame_number> with the frame number listed in the filename, frame00 in the filename represent to the 1st frame, so the final name of the image will be boot_splash_frame01.png, frame01 will be boot_splash_frame02.png and so on)
  • Copy those images to /usr/share/chromeos-assets/images_100_percent/, cover the original boot splash images stored there
  • Open /etc/init/boot-splash.conf with vim (or your favourite command line text editor)
  • Replace all --frame-interval 25 with --frame-interval <SECONDS_LISTED_IN_FILENAME * 1000> (<SECONDS_LISTED_IN_FILENAME> is the time interval listed in each image's filename (in seconds), then convert it to milliseconds (by multipling the value with 1000))
  • Reboot and check out the final result :)
@ThatDumbPan
Copy link

ThatDumbPan commented Jan 21, 2023

It doesn't let me copy the images, it says "Read-only file system", even with sudo.

@supechicken
Copy link
Author

@ThatDumbPan Please check the Before you start... part

@CorbHoony
Copy link

Can you please make the tutoral more indeth

@Leo-222-hub
Copy link

How do i copy the images to " /usr/share/chromeos-assets/images_100_percent/" ?

@dandepan303
Copy link

dandepan303 commented Aug 31, 2023

I think I've figured it out.

Enabling developer mode

  1. Enable developer mode. Press esc + refresh + power button .

  2. Press ctrl + d

  3. Follow the instructions on screen to enable developer mode

If you are having trouble, find more here.

Disabling rootFS verification (IMPORTANT)!!!

  1. Open up chrosh (ctrl + alt + t) and type in shell

  2. Paste this command and press enter: sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions

  3. Restart your computer

  4. Open up chrosh (ctrl + alt + t) and type in shell

  5. Paste this command and press enter: mount –o remount rw /

Getting the files for images

  1. Get your images or gif, as in the original instructions above.

  2. Rename those images to boot_splash_frame<frame_number>.png (replace <frame_number> with the frame number listed in the filename, frame00 in the filename represent to the 1st frame, so the final name of the image will be boot_splash_frame01.png, frame01 will be boot_splash_frame02.png and so on)

  3. Copy the images until you have 30 of them

  4. Be patient, yes, you will have to rename them manually. 😑

Moving the files

  1. Open up chrosh again, (ctrl + alt + t) and type in shell

  2. Paste this command and press enter: cd /usr/share/chromeos-assets/images_100_percent/ && sudo rm boot_splash_frame05.png boot_splash_frame09.png boot_splash_frame13.png boot_splash_frame17.png boot_splash_frame21.png boot_splash_frame25.png boot_splash_frame29.png boot_splash_frame06.png boot_splash_frame10.png boot_splash_frame14.png boot_splash_frame18.png boot_splash_frame22.png boot_splash_frame26.png boot_splash_frame30.png boot_splash_frame07.png boot_splash_frame11.png boot_splash_frame15.png boot_splash_frame19.png boot_splash_frame23.png boot_splash_frame27.png boot_splash_frame08.png boot_splash_frame12.png boot_splash_frame16.png boot_splash_frame20.png boot_splash_frame24.png boot_splash_frame28.png

  3. Paste this command and press enter: cd /home/chronos/user/Downloads

  4. Paste this command and press enter: sudo mv boot_splash_frame05.png boot_splash_frame09.png boot_splash_frame13.png boot_splash_frame17.png boot_splash_frame21.png boot_splash_frame25.png boot_splash_frame29.png boot_splash_frame06.png boot_splash_frame10.png boot_splash_frame14.png boot_splash_frame18.png boot_splash_frame22.png boot_splash_frame26.png boot_splash_frame30.png boot_splash_frame07.png boot_splash_frame11.png boot_splash_frame15.png boot_splash_frame19.png boot_splash_frame23.png boot_splash_frame27.png boot_splash_frame08.png boot_splash_frame12.png boot_splash_frame16.png boot_splash_frame20.png boot_splash_frame24.png boot_splash_frame28.png /usr/share/chromeos-assets/images_100_percent/

  5. Reboot to apply changes

That's it! you should have your custom boot logo!

If you did have a problem or question, please mention me in a comment in this thread, I will reply sooner or later. I'm actually working on a bash script that will do the same thing. I'll say something in here when finished.

@FlopperCan12
Copy link

Would I need to powerwash my chromebook?

@dandepan303
Copy link

Would I need to powerwash my chromebook?

Yes, unless you are already in developer mode. Enabling developer mode has the same effect as a powerwash.

@Jmole26
Copy link

Jmole26 commented Mar 23, 2024

hi, i was just wondering if anyone else had the problem of this error when using crosh terminal and knew how to fix it? sudo: The "no new privileges" flag is set, which prevents sudo from running as root.
sudo: If sudo is running in a container, you may need to adjust the container configuration to disable the flag.

Thanks!

@dandepan303
Copy link

dandepan303 commented Mar 23, 2024 via email

@JTHaunter
Copy link

how do i revert back to default

@FirestarMWT
Copy link

how do i upload the images having probs rn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment