V8.03.400.2025.06.05
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m9s
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m9s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
@@ -10,7 +10,7 @@
|
|||||||
# SPDX-PackageName: CISS.debian.live.builder
|
# SPDX-PackageName: CISS.debian.live.builder
|
||||||
# SPDX-Security-Contact: security@coresecret.eu
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
########################################################################################### ℵ
|
########################################################################################### Alpha
|
||||||
#######################################
|
#######################################
|
||||||
# Outputs a 16-character random printable string
|
# Outputs a 16-character random printable string
|
||||||
# Arguments:
|
# Arguments:
|
||||||
|
|||||||
@@ -25,30 +25,30 @@ Press 'EXIT' to continue with CISS.debian.live.builder.
|
|||||||
When you provision ISO images using the Netcup provider, you MUST always supply a globally unique identifier
|
When you provision ISO images using the Netcup provider, you MUST always supply a globally unique identifier
|
||||||
for each image via the --control argument. If you omit this flag or reuse an existing identifier, Netcup's
|
for each image via the --control argument. If you omit this flag or reuse an existing identifier, Netcup's
|
||||||
backend will automatically locate and mount the oldest ISO carrying that same name. In practice, this means
|
backend will automatically locate and mount the oldest ISO carrying that same name. In practice, this means
|
||||||
you might believe you're booting a freshly uploaded image, but in fact the system silently reattaches an
|
you might believe you're booting a freshly uploaded image, but in fact, the system silently reattaches an
|
||||||
earlier one—leading to confusing failures and wasted troubleshooting time.
|
earlier one-leading to confusing failures and wasted troubleshooting time.
|
||||||
|
|
||||||
A separate but related issue emerges when booting certain Debian "cloud" kernel images—specifically those
|
A separate but related issue emerges when booting certain Debian "cloud" kernel images-specifically those
|
||||||
matching the patterns *.+bpo-cloud-amd64 or *.+bpo-cloud-arm64—on a Netcup G11 instance or on a Hetzner VM.
|
matching the patterns *.+bpo-cloud-amd64 or *.+bpo-cloud-arm64-on a Netcup G11 instance or on a Hetzner VM.
|
||||||
After the initramfs is loaded, the console output often becomes garbled or completely unreadable. This is not
|
After the initramfs is loaded, the console output often becomes garbled or completely unreadable. This is not
|
||||||
due to a kernel panic, but rather to a mismatch between the framebuffer mode expected by the initramfs and the
|
due to a kernel panic, but rather to a mismatch between the framebuffer mode expected by the initramfs and the
|
||||||
one actually provided by the virtual hardware. Common workarounds, like editing the boot entry (e) and appending
|
one actually provided by the virtual hardware. Common workarounds, like editing the boot entry (e) and appending
|
||||||
|
|
||||||
— 'nomodeset', or
|
- 'nomodeset', or
|
||||||
— 'vga=0x318',
|
- 'vga=0x318',
|
||||||
|
|
||||||
do not resolve the issue because they address legacy VGA modes rather than the EFI framebuffer parameters used
|
do not resolve the issue because they address legacy VGA modes rather than the EFI framebuffer parameters used
|
||||||
in modern cloud images.
|
in modern cloud images.
|
||||||
|
|
||||||
To mitigate this, you can:
|
To mitigate this, you can:
|
||||||
|
|
||||||
— Use a plain Debian kernel (e.g., linux-image-amd64) instead of the bpo-cloud variants, which are optimized
|
- Use a plain Debian kernel (e.g., linux-image-amd64) instead of the bpo-cloud variants, which are optimized
|
||||||
for cloud-init but presume a different console setup.
|
for cloud-init but presume a different console setup.
|
||||||
|
|
||||||
— Explicitly set an EFI-compatible framebuffer by adding something like 'video=efifb:mode=auto' to the kernel
|
- Explicitly set an EFI-compatible framebuffer by adding something like 'video=efifb:mode=auto' to the kernel
|
||||||
command line. This aligns the initramfs console driver with the actual firmware framebuffer.
|
command line. This aligns the initramfs console driver with the actual firmware framebuffer.
|
||||||
|
|
||||||
— Build a custom initramfs that includes the correct video modules or switches back to a serial console. For
|
- Build a custom initramfs that includes the correct video modules or switches back to a serial console. For
|
||||||
example, adding 'console=ttyS0,115200' can force all early messages to the serial port bypassing the
|
example, adding 'console=ttyS0,115200' can force all early messages to the serial port bypassing the
|
||||||
graphical framebuffer entirely.
|
graphical framebuffer entirely.
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ run_analysis() {
|
|||||||
declare time=$(date '+%Y-%m-%d %H:%M:%S')
|
declare time=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
printf "\e[92m🧾 === Build summary === \e[0m\n"
|
printf "\e[92m🧾 === Build summary === \e[0m\n"
|
||||||
printf "\e[92m────────────────────────────────────────────────────────────────────────────────────────\e[0m\n"
|
printf "\e[92m----------------------------------------------------------------------------------------\e[0m\n"
|
||||||
printf "\e[97m📦 ISO-File : %s \e[0m\n" "${iso_file}"
|
printf "\e[97m📦 ISO-File : %s \e[0m\n" "${iso_file}"
|
||||||
printf "\e[97m📀 ISO-Size : %s \e[0m\n" "${iso_size_hr}"
|
printf "\e[97m📀 ISO-Size : %s \e[0m\n" "${iso_size_hr}"
|
||||||
printf "\e[97m📂 Chroot-Size : %s \e[0m\n" "${chroot_size_hr}"
|
printf "\e[97m📂 Chroot-Size : %s \e[0m\n" "${chroot_size_hr}"
|
||||||
@@ -89,7 +89,7 @@ run_analysis() {
|
|||||||
printf "\e[97m🕐 Build Time : %s \e[0m\n" "${build_duration}"
|
printf "\e[97m🕐 Build Time : %s \e[0m\n" "${build_duration}"
|
||||||
printf "\e[97m🧠 CPUs for SquashFS : %s \e[0m\n" "${squash_cpu_used}"
|
printf "\e[97m🧠 CPUs for SquashFS : %s \e[0m\n" "${squash_cpu_used}"
|
||||||
printf "\e[97m🔐 SHA256SUM : %s \e[0m\n" "${sha_sum}"
|
printf "\e[97m🔐 SHA256SUM : %s \e[0m\n" "${sha_sum}"
|
||||||
printf "\e[92m────────────────────────────────────────────────────────────────────────────────────────\e[0m\n"
|
printf "\e[92m----------------------------------------------------------------------------------------\e[0m\n"
|
||||||
printf "\e[97m📅 Analysis Time : %s \e[0m\n" "${time}"
|
printf "\e[97m📅 Analysis Time : %s \e[0m\n" "${time}"
|
||||||
printf "\e[92m✅ Analysis completed.\e[0m\n"
|
printf "\e[92m✅ Analysis completed.\e[0m\n"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user