Today, I tried to compress
initramfs-linux-fallback.img to get more space in
/boot partition. During the generate processing of them, I found some warning messages like this:
Possibly missing firmware for module: aic94xx
Possibly missing firmware for module: wd719x
Notes: It’s may different on your computer depend on its hardwares.
- wd719x: Driver for Western Digital WD7193, WD7197 and WD7296 SCSI cards
- aic94xx: Adaptec SAS 44300, 48300, 58300 Sequencer Firmware for AIC94xx driver
As I known, most common firmware files can be acquired by installing the
linux-firmware package. But you’re still missing them like me, you could install it by yourself. If you do not use hardware which uses these firmwares you can safely ignore this message.
Possibly missing firmware for module XXXX
In my case, I looking for the missing firmwares from AUR then install it, after that, I rebuild the kernel image. Here is my solution:
$ yay -S aic94xx-firmware wd719x-firmware --noconfirm $ sudo mkinitcpio -p linux
mkinitcpio: consolefont error
As you see on the image above, my system missed
consolefont with message:
==> WARNING: consolefont: no font found in configuration
To fix it, you need provide the console font name in
/etc/vconsole.conf, here is mine:
To find the correct console font’s names, you could view the list of them in
Addition: Compress initramfs-linux.img in /boot
I mentioned at the begin of this post, I tried to compress
initramfs-linux-fallback.img to decrease their file size because I need more free space to install GRUB themes.
/boot parition size if you’re running a system with multi-OS is risky and too complex. That’s why I tried to compress them to smaller file size.
By default, the configuration of mkinitcpio is not provide the compress method. So then the Linux kernel updated, it’ll generating the uncompress image include fallback version. The most common size of
EFI) partision is 100MB, it’s just almost enough disk space for Windows and Linux. To get more free space, you must created it manual.
My goal is compress
initramfs-linux-fallback.img to small size, so I take a look in to
# COMPRESSION # Use this to compress the initramfs image. By default, gzip compression # is used. Use 'cat' to create an uncompressed image. #COMPRESSION="gzip" #COMPRESSION="bzip2" #COMPRESSION="lzma" #COMPRESSION="xz" #COMPRESSION="lzop" #COMPRESSION="lz4" # COMPRESSION_OPTIONS # Additional options for the compressor #COMPRESSION_OPTIONS=()
For most use cases, gzip, lzop, and lz4 provide the best balance of compressed image size and decompression speed. You can choose a better compression algorithm, the default should still be gzip, but xz (or lzma2), bzip… are better. After tested several times, I found xz is best for my goal. The initial compression takes longer, but decompression during boot shouldn’t take much longer. Both options together may also reduce your boot time a little bit.
After setting this, run
sudo mkinitcpio -p linux all to have it take effect.