How to make a custom ISO image: Difference between revisions

From Alpine Linux
(rm ISO overlay)
Line 6: Line 6:
But there is also an alternative:
But there is also an alternative:


== ISO image customizations with an APKOVL ==


The "diskless" Alpine ISO images seem to look for an .apkovl volume in system partitions, and offer to save local backups and package cache to mountpoints below /media/. (Besides supporting a boot parameter that points to a web server.)
So
# Boot the diskless system from ISO, and if necessary create and format a partition.
# Edit /etc/fstab and mount the writable partition below /media/.
# Run alpine-setup and choose to save the state to the mounted partition.
# Customize the system.
# Generate an APKOVL file with [[Alpine_local_backup|lbu]] by executing <code>lbu commit</code>
(If instead you put the APKOVL file on a webserver, you would need to supply a custom url with the <code>APKOVL</code> kernel boot parameter.)
Notes:
* See [[Alpine_Linux_package_management#Local_Cache]] about managing included packages.
* See [[Alpine_local_backup|lbu]] about how to customize it to cover files outside of <code>/etc</code>.
* Any packages you add to /etc/apk/world of your lbu will also automatically be installed in the live system.
* If you don't have a web server you can run busybox's httpd temporarily - <code>busybox httpd -p 127.0.0.1:80</code>


== Booting an ISO image with local customizations ==
== Booting an ISO image with local customizations ==

Revision as of 15:50, 9 May 2020

One way to completely re-build custom images is to use a script like alpine-make-vm-image.

  • If you want to make a customized installer, you need to create .default_boot_services which will cause mkinitfs to create the defaults for the live image.

But there is also an alternative:


Booting an ISO image with local customizations

  • From dedicated boot media, obviously.
  • (Example included:) Booting and customizing an ISO image with an .apkovl in a Qemu virtual machine.
  • Using e.g. Debian's grub-imageboot package and booting .iso files directly, instead of partitions.