diff --git a/kernel/Dockerfile b/kernel/Dockerfile index 746243e..c2c7cda 100644 --- a/kernel/Dockerfile +++ b/kernel/Dockerfile @@ -1,5 +1,5 @@ -ARG KERNEL_SOURCE_URL=https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.16.9.tar.xz -ARG KERNEL_CHECKSUM=sha256:7ac8c8a3cf05476375deaaa85dfcee095a826ffe557b437f43774fc3b64ce58d +ARG KERNEL_SOURCE_URL=https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.17.2.tar.xz +ARG KERNEL_CHECKSUM=sha256:fdebcb065065f5c1b8dc68a6fb59cda50cdddbf9103d207c2196d55ea764f57f FROM --platform=$BUILDPLATFORM debian:trixie@sha256:fd8f5a1df07b5195613e4b9a0b6a947d3772a151b81975db27d47f093f60c6e6 AS buildenv RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -y \ diff --git a/src/actions/chainload.rs b/src/actions/chainload.rs index 0896bbd..a63e047 100644 --- a/src/actions/chainload.rs +++ b/src/actions/chainload.rs @@ -25,7 +25,7 @@ pub fn chainload(context: Rc, configuration: &ChainloadConfigurat full_path.push_str(&context.stamp(&configuration.path)); - info!("path={}", full_path); + info!("path: {}", full_path); let device_path = utils::text_to_device_path(&full_path)?; @@ -52,7 +52,12 @@ pub fn chainload(context: Rc, configuration: &ChainloadConfigurat CString16::try_from(&options[..]) .context("unable to convert chainloader options to CString16")?, ); - info!("options={}", options); + info!("options: {}", options); + + // TODO(azenla): Free this memory, if possible. + // The lifetime of the pointer needs ot outlive start_image. + // Maybe consider moving this up. + let options = Box::leak(options); if options.num_bytes() > u32::MAX as usize { bail!("chainloader options too large"); @@ -68,7 +73,7 @@ pub fn chainload(context: Rc, configuration: &ChainloadConfigurat } let (base, size) = loaded_image_protocol.info(); - info!("loaded image base={:#x} size={:#x}", base.addr(), size); + info!("loaded image: base={:#x} size={:#x}", base.addr(), size); uefi::boot::start_image(image).context("failed to start image")?; Ok(()) }