Skip to content

feat: Add option to build image file non-interactively#258

Open
readefries wants to merge 2 commits intor0b0:masterfrom
readefries:feat/add-flags-to-make-image-script
Open

feat: Add option to build image file non-interactively#258
readefries wants to merge 2 commits intor0b0:masterfrom
readefries:feat/add-flags-to-make-image-script

Conversation

@readefries
Copy link
Contributor

I wanted to be able to create disk images, so I updated the make_image.sh script to support creating an image as an option, in addition to writing directly to a USB disk.

This also includes an option to select which tasksel packages to install, so the installer can be non-interactive.

…r the root file system, so the new kernel also boots
@readefries readefries force-pushed the feat/add-flags-to-make-image-script branch from 47e06ab to f74a536 Compare March 18, 2026 21:52
@readefries
Copy link
Contributor Author

readefries commented Mar 18, 2026

@r0b0 I seem to be running into an issue where the package ukify cannot be found in the backports. Did you see that happening with the images you built? Also, the firmware-qcom-soc is missing, but I was already facing that when building the image.

… with options to feed settings via environment variables
@readefries readefries force-pushed the feat/add-flags-to-make-image-script branch from f74a536 to 6208d50 Compare March 18, 2026 22:23
@r0b0
Copy link
Owner

r0b0 commented Mar 19, 2026

@r0b0 I seem to be running into an issue where the package ukify cannot be found in the backports. Did you see that happening with the images you built? Also, the firmware-qcom-soc is missing, but I was already facing that when building the image.

Hi, This might be bacause you switched from apt to apt-get. I find apt to be better at handling cases such as a package not yet available in the backports etc. I found firmware-qcom-soc in the backports, but not systemd-ukify

cryptsetup luksUUID "${main_partition}" > luks.uuid
root_uuid=$(cat luks.uuid)
# Add LUKS parameters to kernel cmdline
kernel_params="rd.luks.uuid=${root_uuid} rd.luks.name=${root_uuid}=${luks_device_name} rd.luks.options=tpm2-device=auto root=${root_device} ${kernel_params}"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can leave rd.luks.uuid out when you use rd.luks.name. No biggie, just reduces the number of options.


### Development Container

This repository includes a VS Code devcontainer in `.devcontainer/`.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repository includes a VS Code devcontainer in .devcontainer/.

What does this mean? Did you mean to commit the .devcontainer folder?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, I didn't want to check that in. I tested getting the building in a container, so all the dependencies wouldn't need to be installed on my machine. But I ran into issues connecting the loop devices to be able to work on the virtual image. I'll remove that from the changeset

@@ -0,0 +1,3 @@
# Build full initramfs with all drivers instead of host-only
# This ensures the initramfs works across different hardware configurations
hostonly="no"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There already is a hostonly="no" in 90-odin.conf

@readefries
Copy link
Contributor Author

@r0b0 I seem to be running into an issue where the package ukify cannot be found in the backports. Did you see that happening with the images you built? Also, the firmware-qcom-soc is missing, but I was already facing that when building the image.

Hi, This might be bacause you switched from apt to apt-get. I find apt to be better at handling cases such as a package not yet available in the backports etc. I found firmware-qcom-soc in the backports, but not systemd-ukify

No, that doesn't change the result. The only reason I used apt-get, is that I now apt is not script safe. But I can just remove that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants