fix: make loop device during container build of ISO (#41)
* fix: make loop device during container build of ISO This creates the loop device during container runtime which allows lorax to build the ISO and not need to rely on a host provided device file. Fixes: #22 * chore: updated readme --------- Co-authored-by: Noel Miller <noelmiller@protonmail.com>
This commit is contained in:
		
							parent
							
								
									99a54d2869
								
							
						
					
					
						commit
						3401b10c56
					
				|  | @ -21,4 +21,4 @@ RUN dnf install -y make && make install-deps | ||||||
| 
 | 
 | ||||||
| VOLUME /isogenerator/output | VOLUME /isogenerator/output | ||||||
| 
 | 
 | ||||||
| ENTRYPOINT ["sh", "-c", "make output/${IMAGE_NAME}-${IMAGE_TAG}.iso ARCH=${ARCH} VERSION=${VERSION} IMAGE_REPO=${IMAGE_REPO} IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} VARIANT=${VARIANT} WEB_UI=${WEB_UI}"] | ENTRYPOINT /isogenerator/entrypoint.sh | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								README.md
								
								
								
								
							
							
						
						
									
										16
									
								
								README.md
								
								
								
								
							|  | @ -16,14 +16,22 @@ This will create an ISO with the baked in defaults of the container image. | ||||||
| See [Customizing](#customizing) for information about customizing the image that gets created. The variable can either be defined as environment variables or as command arguments. | See [Customizing](#customizing) for information about customizing the image that gets created. The variable can either be defined as environment variables or as command arguments. | ||||||
| Examples: | Examples: | ||||||
| 
 | 
 | ||||||
| Creating Bluefin GTS ISO | Creating Universal Blue Silverblue ISO | ||||||
| ```bash | ```bash | ||||||
| docker run --rm --privileged --volume .:/isogenerator/output -e VERSION=38 -e IMAGE_NAME=bluefin -e IMAGE_TAG=gts -e VARIANT=Silverblue ghcr.io/ublue-os/isogenerator:38 | docker run --rm --privileged --volume .:/isogenerator/output -e VERSION=39 -e IMAGE_NAME=silverblue-main -e IMAGE_TAG=latest -e VARIANT=Silverblue ghcr.io/ublue-os/isogenerator:39 | ||||||
|  | ``` | ||||||
|  | ```bash | ||||||
|  | # Requires sudo to run | ||||||
|  | sudo podman run --rm --privileged --volume .:/isogenerator/output -e VERSION=39 -e IMAGE_NAME=silverblue-main -e IMAGE_TAG=latest -e VARIANT=Silverblue ghcr.io/ublue-os/isogenerator:39 | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Creating Bazzite Latest ISO | Creating Universal Blue Kinoite ISO | ||||||
| ```bash | ```bash | ||||||
| docker run --rm --privileged --volume .:/isogenerator/output -e VERSION=39 -e IMAGE_NAME=bazzite -e IMAGE_TAG=latest -e VARIANT=Kinoite ghcr.io/ublue-os/isogenerator:39 | docker run --rm --privileged --volume .:/isogenerator/output -e VERSION=39 -e IMAGE_NAME=kinoite-main -e IMAGE_TAG=latest -e VARIANT=Kinoite ghcr.io/ublue-os/isogenerator:39 | ||||||
|  | ``` | ||||||
|  | ```bash | ||||||
|  | # Requires sudo to run | ||||||
|  | sudo podman run --rm --privileged --volume .:/isogenerator/output -e VERSION=39 -e IMAGE_NAME=kinoite-main -e IMAGE_TAG=latest -e VARIANT=Kinoite ghcr.io/ublue-os/isogenerator:39 | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Customizing | ## Customizing | ||||||
|  |  | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | set -eu | ||||||
|  | 
 | ||||||
|  | # pre-create loop devices manually. In containers we can't use losetup for that. | ||||||
|  | mknod -m 0660 /dev/loop0 b 7 0  2> /dev/null || true | ||||||
|  | 
 | ||||||
|  | make output/${IMAGE_NAME}-${IMAGE_TAG}.iso ARCH=${ARCH} VERSION=${VERSION} IMAGE_REPO=${IMAGE_REPO} IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} VARIANT=${VARIANT} WEB_UI=${WEB_UI} | ||||||
		Loading…
	
		Reference in New Issue
	
	 Benjamin Sherman
						Benjamin Sherman