How to make a custom ISO image: Difference between revisions

From Alpine Linux
mNo edit summary
mNo edit summary
Line 1: Line 1:
The easiest way is to use script [https://github.com/alpinelinux/alpine-make-vm-image alpine-make-vm-image].


== Live Disk Setup with customized APKOVL configurations ==
The easiest way is to use a script like [https://github.com/alpinelinux/alpine-make-vm-image alpine-make-vm-image].


Once you have booted and customized the system that was booted from an ISO, you can now configure the ISO to load the customizations as follows:
== Live Disk customizations with APKOVL configurations ==
 
Once you have booted and customized the system that was booted from an ISO, you may save the state and arrange for the ISO to load the customizations:


* Generate an APKOVL file with [[Alpine_local_backup|lbu]], <code>lbu ci</code>
* Generate an APKOVL file with [[Alpine_local_backup|lbu]], <code>lbu ci</code>
* The Alpine ISO looks for an APKOVL Volume in mountpoints below /media/, or can be pointed to a web server.  
* 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 add a customized url with the <code>APKOVL</code> boot parameter.
* If you put the APKOVL file on a webserver, you need to supply a customized url with the <code>APKOVL</code> boot parameter.


Notes:
Notes:


* Any packages you add to /etc/apk/world of your lbu will automatically be installed onto the live system image.
* 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>
* 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>
* In general, <code>lbu</code> will only handle files in <code>/etc</code>, to customize this further, you need to add additional files.
* 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.
* 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.


== Testing your ISO image ==
== Testing your ISO image ==


[[Qemu#Live_mode| Qemu]] is useful for a quick test of your created ISO image.
[[Qemu#Live_mode| Qemu]] is useful for a quick test of ISO image customizations.


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

Revision as of 11:56, 6 May 2020

The easiest way is to use a script like alpine-make-vm-image.

Live Disk customizations with APKOVL configurations

Once you have booted and customized the system that was booted from an ISO, you may save the state and arrange for the ISO to load the customizations:

  • Generate an APKOVL file with lbu, lbu ci
  • 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 APKOVL boot parameter.

Notes:

  • 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 - busybox httpd -p 127.0.0.1:80
  • See lbu about how to customize it to cover files outside of /etc.
  • 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.

Testing your ISO image

Qemu is useful for a quick test of ISO image customizations.