Please,check the images below. The image 1 and 2 come from the kernel file
unpacked with the cpio command (cpio -idv < initrd.img-5.10.0-18-amd64 -D
/home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64),while
on the picture n. 3 You can see all the pictures that are inside the kernel
file when I have opened it with engrampa. I don't know where the truth is.
I see only contradictory information. Something is lying : who is ? cpio or
engrampa ?

1) https://ibb.co/0mCFCW7
2) https://ibb.co/pjGsTY5
3) https://ibb.co/k3TMFsk



Il giorno mer 26 ott 2022 alle ore 23:04 Mario Marietto <
marietto2...@gmail.com> ha scritto:

> Hello to everyone.
>
> I'm trying to understand the reasons why the kernel file that I generate
> does not work correctly. Maybe I've understood something,but I don't have a
> clear picture of the problem. I want to try to explain what's wrong using
> my method of expression because I find it easier. A more "advanced" way may
> be able to help you,but it will not help me and the result will be that we
> will not understand each other. So. I've created the folder called
> "kernels" like this :
>
> mkdir -p /home/ziomario/Scrivania/PassT-Cubic/kernels/
>
> inside of it I have copied the following kernel file :
>
> initrd.img-5.10.0-18-amd64.gz
>
> it is unaltered. I haven't added any logos and pictures inside of it.
> After this,I have created two more folders :
>
> mkdir -p /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped
> mkdir -p
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64
>
> and then I did :
>
> cd /home/ziomario/Scrivania/PassT-Cubic/kernels/
>
> gunzip -k initrd.img-5.10.0-18-amd64.gz
>
> cpio -idv < initrd.img-5.10.0-18-amd64 -D
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64
>
> Every time I give the latest command (the cpio one),something odd happens
> and I don't understand the reason. Inside the folder
> "/usr/share/plymouth/themes/homeworld",two new files are created :
> debian.png and logo.png. The first one is correct. I mean,this is one of
> the pictures that I want to add inside the kernel file. But the second
> file,logo.png is wrong. It is an old picture that I used sometime ago and
> that I don't use anymore because I created a new logo. Let's say that the
> folder "/usr/share/plymouth" and "/usr/share/plymouth/themes/underworld"
> are two folders that I have created on my host os and inside of them I have
> stored the correct pictures that I want to add inside the kernel file.
> Later in the process,I issue the below commands to copy the correct images
> inside the kernel file before re-packing it.
>
> cp /usr/share/plymouth/debian-logo.png
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/
>
> cp /usr/share/plymouth/themes/homeworld/debian.png
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/themes/homeworld
>
> cp /usr/share/plymouth/themes/homeworld/logo.png
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/themes/homeworld
>
> At the moment I haven't reached that step because the cpio command (cpio
> -idv < initrd.img-5.10.0-18-amd64 -D
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64)
> behavior is not expected.
>
> Since I'm using unaltered kernel files,I don't know where the cpio command
> (cpio -idv < initrd.img-5.10.0-18-amd64 -D
> /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64)
> gets those images when I run it. And most of all,I don't know why those
> pictures are copied inside the folder
> "/usr/share/plymouth/themes/underworld",overwriting the already existing
> pictures that are already there. As I repeat,those files aren't stored
> inside the kernel file (initrd.img-5.10.0-18-amd64),because it is unaltered
> and it contains only the default debian pictures,which are different from
> mine. I hope that I have been clear. Sorry I don't have another way to
> explain what happens other than my narrative.
>
> Il giorno mar 25 ott 2022 alle ore 22:50 Thomas Schmitt <scdbac...@gmx.net>
> ha scritto:
>
>> Hi,
>>
>> Mario Marietto wrote:
>> > You seem to understand well what I'm trying to do and you are
>> > able to give good suggestions.
>>
>> Probably i only have a good run of guessing here.
>>
>>
>> > It seems that there isn't any CPIO
>> > parameter that overwrites the old image. Is this correct ?
>>
>> I am not aware of any. The nature of a sequential archive does not invite
>> for random access changes.
>>
>>
>> > I remember that
>> > the old method (unpack and repack the files inside the kernel image)
>> failed.
>> > I'm not able to understand why.
>>
>> Understanding what special detail spoils this normally well working
>> method whould probably be helpful for your goals. You'd have to compare
>> what's in a working appended initrd and one that was freshly packed up
>> and does not work. (cpio -t <initrd)
>>
>>
>> > mv initrd.img-5.10.0-19-amd64 initrd.img-5.10.0-19-amd64_
>> > mv initrd.img-5.10.0-19-amd64 initrd.img-5.10.0-19-amd64-
>> > find [...] | cpio -ov > ../initrd.img-5.10.0-19-amd64
>>
>> I find your re-usal of that lengthy file name confusing.
>> Consider to give the various intermediate archives and directories shorter
>> names and to use the name initrd.img-5.10.0-19-amd64.gz only at the start
>> and the end of your procedure.
>>
>> Hopefully this will make more clear what causes the difference in size.
>> Comparing the cpio -t of both initrds might give important hints.
>>
>>
>> > Or maybe another solution is to append a new image inside the
>> > kernel  image only when a new kernel  is detected.
>>
>> How about storing the paths and checksums of vmlinuz and initrd in a file
>> (or two) and comparing them with the checksums when the system boots up ?
>> md5sum should suffice to detect any change.
>>
>> You'd have to determine the exact paths of the files to checksum. Maybe
>> they even change by the installation events, so that you have to repeat
>> that determination after each installation events.
>>
>> You's also have to find a safe and persistent spot in the filesystem which
>> does not get influenced by installation events, where you can store the
>> file with the recorded paths and checksums.
>>
>>
>> Have a nice day :)
>>
>> Thomas
>>
>>
>
> --
> Mario.
>


-- 
Mario.

Reply via email to