How to make a custom ISO image: Difference between revisions

From Alpine Linux
mNo edit summary
(Fix messed up paragraph)
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:


One way to completely re-build images is to use a script like [https://github.com/alpinelinux/alpine-make-vm-image alpine-make-vm-image].
== ISO remastering ==


But there is also an alternative:
There are third party scripts to re-build completely custom images, like [https://github.com/alpinelinux/alpine-make-vm-image alpine-make-vm-image]
(works to only make a disk based VM image) and there is Alpine's original
[[How_to_make_a_custom_ISO_image_with_mkimage|mkimg]].
(creates a diskless ISO file - usually what you want for QEMU and Proxmox)


== Live Disk customizations with APKOVL configurations ==
== An alternative ==


Once you have booted and customized the diskless system that was booted from an ISO, you may save the state and arrange for the ISO to load the customizations on the next boot:
It's also possible to commit and load ISO image customizations to and from a writable partition when booting in [[Installation#Diskless_Mode|Diskless Mode]].


* Generate an APKOVL file with [[Alpine_local_backup|lbu]], <code>lbu ci</code>
== See also ==
* The "diskless" Alpine ISO images look for an APKOVL Volume in mountpoints below /media/, and may alternatively be pointed to a web server.
* If you put the APKOVL file on a webserver, you need to supply a customized url with the <code>APKOVL</code> boot parameter.


Notes:
* [[Directly booting an ISO file]]
 
* [[How to make a custom ISO image with mkimage]]
* Any packages you add to /etc/apk/world of your lbu will automatically be installed in the live system.
* See [[Alpine_Linux_package_management#Local_Cache]] about managing included packages.
* 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>
* See [[Alpine_local_backup|lbu]] about how to customize it to cover files outside of <code>/etc</code>.
* If you want to make a customized installer, you need to create <code>.default_boot_services</code> which will cause <code>mkinitfs</code> to create the defaults for the live image.
 
== Test example: Booting an ISO image with customizations ==
 
[[Qemu#Live_mode| Qemu]] is useful for a quick test of ISO image customizations.


[[Category:Package Manager]]
[[Category:Package Manager]]
[[Category:ISO]]
[[Category:ISO]]

Latest revision as of 13:46, 15 January 2025

ISO remastering

There are third party scripts to re-build completely custom images, like alpine-make-vm-image (works to only make a disk based VM image) and there is Alpine's original mkimg. (creates a diskless ISO file - usually what you want for QEMU and Proxmox)

An alternative

It's also possible to commit and load ISO image customizations to and from a writable partition when booting in Diskless Mode.

See also