Custom `/etc/mkinitcpio.d/linux.preset` file is recommended for this setup. Each time you run `mkinitcpio -p linux` or update Linux kernel or systemd configuration, proper initrd and kernel files are automatically generated in proper location (`/boot_efi/` in this setup) without additional hassle.
Additionally, add the following file which ensures that Linux kernel image &`intel-ucode` files are correctly installed when issuing `mkinitcpio -p linux` command.
```
> cat /etc/initcpio/install/esp-update-linux
ESP_DIR="/boot_efi/EFI"
build() {
cp -af /boot/intel-ucode.img "${ESP_DIR}"/
cp -af /boot/vmlinuz-linux "${ESP_DIR}"/
}
```
## mkinitcpio configuration file
The following `/etc/mkinitcpio.conf` file works in this setup. The file is used to configure initial RAM disk files (`initramfs.img`, `initramfs-fallback.img`). Not all modules listed in `MODULES` array are required, but they have been left for [Optimus/Intel GPU passthrough setup](https://gist.github.com/agentsim/e89beb42ede85714a24529b2a6798bb8) I once had.
### Kernel updates may break the setup. How to avoid?
Kernel updates (package `linux` on Arch Linux) tend to break this setup because `vmlinuz-linux` file is installed at `/boot` by default. Because EFI partition is FAT-formatted, you can't create a simple symbolic link from `/boot/vmlinuz-linux` to `/boot_efi/EFI/vzmlinuz-linux` either. Thus, after each kernel update (before rebooting!), _you must copy `/boot/vmlinuz-linux` to `/boot_efi/EFI/` folder either manually or automatically_.
--------------------------
## RewriteFS
@ -872,7 +881,7 @@ NOTE: When rewritefs is being used, mount order must be /tmp and then /home fold
-rw-r--r-- root:root /etc/rewritefs.conf
```
Common syntax for RewriteFS fstab entry is as follows (not related in this setup):
Common syntax for RewriteFS fstab entry is as follows (not related to this setup):