Niltze [Hello]!
On 2023-06-15 04:38, Qi Hou wrote:
Dear experts in Debian,
Pardon me for bothering you, but I have to turn to you for advice.
Recently, I've been struggling to customize a Debian (Bullseye)
installer ISO tarball.
My intention is to embed some features and a specific kernel(5.10.x)
into the ISO
tarball. Then, after deploying the debian system on a
controller(amd64), I could get
a workbench system booted with the specific kernel, and with the
features I specified
being installed by default.
But after days painfull working, I still couldn't figure out how to
let the debian
installer retrieve and unpack the deb file of the specific kernel.
I tried to hack into the file system of Debian ISO, and to collect a
lot of information
from technical blogs on the internet on the procedure of how a Debian
installer booted,
and to iminate mechanism in Debian ISO. But all failed.
What I did are below:
(1) to install feature in system as default
I need the corresponding deb files, including the installing files
and their
dependencies, I collected them under /var/cache/apt/ directory on a
machine who
is connected to the internet, and on which the required features
had been installed.
Then transfer them under their corresponding directories under
pool/main/, and
modify the index files, including Packages and Release, as well as
md5sum.txt.
I set the "priority" field of all features to "standard".
It seemed what I had done worked.
(2) to install a new kernel and make the system boot with it by
default
Coming up to this item, I have never felt I made a step forward,
but only stuck.
I know, maybe I'm wrong, to achieve what I want, I need two images,
linux-image and
initrd. To get linux-image, I built linux kernel with "make
bindeb-pkg"; and to get
initrd, I installed linux kernel with commands "make
modules_install" and "make install".
With linux-image-xxx.deb, I transferred it under the directory
"pool/main/l/linux-signed-amd64",
and set index files and md5sum.txt.
With vmlinuz, I used it to override the file named "vmlinuz" under
install.amd/.
With initrd.img-5.10.x, I compressed it with "gzip", and used it to
override the file named
"initrd.gz" under install.amd/gtk/.
At last, I recompressed the ISO source into an ISO file, and tried
to install it onto a
virtual machine.
Of course, I failed again. There is an error, "Initramfs unpacking
failed: no cpio magic".
I know actions taken to substitute for the default kernel are
senseless, but I have no idea about
where I should go.
If you could give some advice to help me embed a new kernel into the
debian destro ISO and make
the system boot with it by default, I will appreciate it from the
bottom of my heart.
Thanks for your time.
Sincerely,
Qi Hou
Have you perused this resource? It is a fair starting point ;-)
< https://wiki.debian.org/DebianInstaller/Build >
--
Best Professional Regards.
--
Jose R R
http://metztli.it
-
Download Metztli Reiser4: Debian Buster w/ Linux 5.16.20 AMD64
-
feats ZSTD compression https://sf.net/projects/metztli-reiser4/
---
Official current Reiser4 resources: https://reiser4.wiki.kernel.org/