How to make a custom ISO image: Difference between revisions

From Alpine Linux
mNo edit summary
mNo edit summary
(19 intermediate revisions by the same user 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 scripts to re-build completely custom images, like
* [https://github.com/alpinelinux/alpine-make-vm-image alpine-make-vm-image]
and the original
* [[How_to_make_a_custom_ISO_image_with_mkimage|mkimg]].


== Live Disk customizations with APKOVL configurations ==


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:
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.


* Generate an APKOVL file with [[Alpine_local_backup|lbu]], <code>lbu ci</code>
* 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:
== An alternative ==


* Any packages you add to /etc/apk/world of your lbu will automatically be installed in the live system.
It's possible to [[Alpine_local_backup#|commit and load ISO image customizations]] to and from a writable storage.
* 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.
 
== Booting an ISO image with local customizations ==
 
* From a dedicated boot media, obviously.
* [[Directly_booting_an_ISO_file]]


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

Revision as of 20:48, 21 June 2020

ISO remastering

There are scripts to re-build completely custom images, like

and the original


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.


An alternative

It's possible to commit and load ISO image customizations to and from a writable storage.


Booting an ISO image with local customizations