[PATCH v4 2/9] grub-core: Update kernel image generation

Nicholas Vinson <[email protected]> Tue, 3 Mar 2026 21:41:14 -0500
Newsgroups org.gnu.grub-devel
Message-ID <4a3c6c018d7c08e4f6e25bb675b94faaf4c27164.1772591795.git.nvinson234@gmail.com>
VGhlIGkzODYtcGMga2VybmVsIGltYWdlIGZhaWxzIHRvIGJ1aWxkIGJlY2F1c2Ugb2YgY2hhbmdl
cyBtYWRlIHRvCmFkZHJlc3MgbGQubGxkLTIxIGFuZCBuZXdlciBsaW5raW5nIGlzc3Vlcy4gU3Bl
Y2lmaWNhbGx5LCB3aXRoCmxkLmxsZC0yMSwgaWYgeW91IHRyeSB0byBzZXQgdGhlIHRleHQgc2Vj
dGlvbiBhZGRyZXNzIGJlbG93IGltYWdlIGJhc2UKYWRkcmVzcyB3aGVuIGxpbmtpbmcgYSBub24t
cmVsb2NhdGFibGUgYmluYXJ5LCBsZC5sbGQgd2lsIGZhaWwgdG8gbGluay4KClN3aXRjaGluZyB0
byB1c2luZyBhIGN1c3RvbWl6ZWQgbGlua2VyIHNjcmlwdCBzb2x2ZXMgdGhlIGlzc3VlIGFuZCBp
cyBhCm1vcmUgcm9ib3N0IHNvbHV0aW9uIHRvIHN1cHBvcnRpbmcgbXVsdGlwbGUgbGlua2VycyB0
aGFuIGF0dGVtcHRpbmcgdG8KZmluZCBhIHNldCBvZiBjb21tYW5kLWxpbmUgZmxhZ3MgdGhhdCBz
YXRpc2lmaWVkIGFsbCBzdXBwb3J0ZWQgbGlua2VycwphbmQgbGlua3MgdGhlIGtlcm5lbCBwcm9w
ZXJseS4gSW4gdGhlIHdvcnN0IGNhc2UsIGNvbnRpbnVlZCB1c2Ugb2YKY29tbWFuZC1saW5lIGZs
YWdzIGNvdWxkIHJlc3VsdCBpbiBoYXZpbmcgdG8gY3JlYXRlIGNvZGUgYnJhbmNoZXMgdG8Kc3Vw
cG9ydCB2YXJpb3VzIGxpbmtlcnMuCgpGb3IgZXhhbXBsZSwgd2hlbiBkZWFsaW5nIHdpdGgganVz
dCBsZC5iZmQgYW5kIGxkLmxsZCwgdGhlIGJlaGF2aW9yYWwKZGlmZmVyZW5jZXMgYmV0d2VlbiB0
aGUgdHdvIG1hZGUgZmluZGluZyBhIHByb3BlciBzdWJzZXQgb2YgZmxhZ3MgdGhhdAp3b3JrZWQg
aW1wb3NzaWJsZS4gVGhlIHByZXZpb3VzIGF0dGVtcHQgZHJvcHBlZCAtVHRleHQgZm9yIC0taW1h
Z2UtYmFzZSwKd2hpY2ggaGFzIGJlZW4gcHJvdmVuIG5vdCB0byB3b3JrLiBUaGUgc2ltcGxlc3Qg
Y29ycmVjdGlvbiwKLVdsLC0taW1hZ2UtYmFzZT0wIC1XbCwtVHRleHQsIGRpZCBub3Qgd29yayBi
ZWNhdXNlIHRoYXQgb3B0aW9uIHJlc3VsdGVkCmluIGEgR1JVQiBrZXJuZWwgdGhhdCBlbnRlcmVk
IGludG8gYSB0aWdodCBpbmZpbml0ZSByZWZyZXNoIGxvb3AuCgpNb3Jlb3ZlciwgbGQubGxkIGRv
ZXMgbm90IG9yZGVyIHRoZSBzZWN0aW9ucyB0aGUgc2FtZSB3YXkgbGQuYmZkIGRvZXMsCmFuZCB0
aGF0IHJlc3VsdHMgaW4gb2JqZWN0IGZpbGVzIHdpdGggZ2FwcyBvciBob2xlcyB3aGVuIHNlY3Rp
b25zIGFyZQpzdHJpcHBlZC4gSSBzdXNwZWN0LCBidXQgZGlkIG5vdCBpbnZlc3RpZ2F0ZSwgdGhh
dCB0aGlzIHBsYXlzIGEgcm9sZSBpbgp0aGUgaW5maW5pdGUgcmVmcmVzaCBsb29wIEkgbWVudGlv
bmVkIGVhcmxpZXIuCgpUaGUgZWFzaWVzdCB3YXkgdG8gcmVzb2x2ZSBhbGwgdGhpcyBpcyB0byB1
c2UgY3VzdG9taXplZCBsaW5rZXIgc2NyaXB0cy4KVGhlc2Ugc2NyaXB0cywgYnkgZGVmYXVsdCwg
b3ZlcnJpZGUgYW55IGRlZmF1bHQgY29uZmlndXJhdGlvbiB0aGUgbGlua2VyCndvdWxkIG90aGVy
d2lzZSBpbXBvc2UsIGFsbG93IGZvciBjb21wbGV0ZSBjb250cm9sIGluIGFsaWduaW5nIHNlY3Rp
b25zLAphbmQgYWxsb3dzIEdSVUIgdG8gc3BlY2lmeSB3aGVyZSBpbiB0aGUgbG9hZCBzZWdtZW50
IGVhY2ggc2VjdGlvbiBnb2VzLgoKVGhpcyBwYXRjaCBzZXJpZXMgZG9lcyByZXF1aXJlIGxpbmtl
cnMgdG8gc3VwcG9ydCB0aGUgLS1kZWZzeW0gZmxhZywKd2hpY2ggcmVxdWlyZXMgaXRzIGFyZ3Vt
ZW50IHRvIGJlIG9mIHRoZSBmb3JtICdzeW09YWRkcmVzcycgYXMgJ3N5bQphZGRyZXNzJyBpcyBu
b3Qgc3VwcG9ydGVkLgoKU2lnbmVkLW9mZi1ieTogTmljaG9sYXMgVmluc29uIDxudmluc29uMjM0
QGdtYWlsLmNvbT4KLS0tCiBjb25mL2kzODYtcGMta2VybmVsLmxkcyB8IDUxICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNTEgaW5zZXJ0
aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbmYvaTM4Ni1wYy1rZXJuZWwubGRzCgpkaWZm
IC0tZ2l0IGEvY29uZi9pMzg2LXBjLWtlcm5lbC5sZHMgYi9jb25mL2kzODYtcGMta2VybmVsLmxk
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ0MGM3NzM2YwotLS0gL2Rl
di9udWxsCisrKyBiL2NvbmYvaTM4Ni1wYy1rZXJuZWwubGRzCkBAIC0wLDAgKzEsNTEgQEAKK0VO
VFJZKF9zdGFydCkKKworLyoKKyAqIEFsaWduIHNlY3Rpb25zIHRvIGEgMTYtYnl0ZSBib3VuZGFy
eS4gVGhpcyBndWFyYW50ZWVzIEFCSSBjb21wYXRpYmlsaXR5IHdpdGgKKyAqIEMgZ2VuZXJhdGVk
IGNvZGUKKyAqLworU0VDVElPTl9BTElHTiA9IDB4MTA7CisKK1BIRFJTIHsKKyAgICB0ZXh0IFBU
X0xPQUQgRkxBR1MoNykgLyogUEZfUiB8IFBGX1cgfCBQRl9YICovOworfQorCitTRUNUSU9OUwor
eworICAgIC8qCisgICAgICogU2V0IHNlY3Rpb24gYWxpZ25tZW50IHRvIDEuIFRoaXMgYWxsb3dz
IHNlY3Rpb25zIHRvIGJlIGFsaWduZWQgd2l0aG91dAorICAgICAqIGNyZWF0aW5nIGhvbGVzIGlu
IHRoZSBWTUEgc3BhY2Ugb3IgZ2FwcyBpbiB0aGUgZmlsZS4KKyAgICAgKi8KKyAgICAuID0gX2dy
dWJfdGV4dF9iYXNlOworICAgIC50ZXh0IEFMSUdOKDB4MSkgOiB7CisgICAgICAgIF9zdGFydCA9
IC47CisgICAgICAgICooLnRleHQgLnRleHQuKikKKyAgICAgICAgLiA9IEFMSUdOKFNFQ1RJT05f
QUxJR04pOworICAgIH0gOnRleHQKKyAgICAucm9kYXRhIEFMSUdOKDB4MSkgOiB7CisgICAgICAg
ICooLnJvZGF0YSAucm9kYXRhLiopCisgICAgICAgIC4gPSBBTElHTihTRUNUSU9OX0FMSUdOKTsK
KyAgICB9IDp0ZXh0CisgICAgLm1vZHVsZV9saWNlbnNlIEFMSUdOKDB4MSkgOiB7CisgICAgICAg
ICooLm1vZHVsZV9saWNlbnNlKQorICAgICAgICAuID0gQUxJR04oU0VDVElPTl9BTElHTik7Cisg
ICAgfSA6dGV4dAorICAgIC5kYXRhIEFMSUdOKDB4MSkgOiB7CisgICAgICAgICooLmRhdGEgLmRh
dGEuKikKKyAgICAgICAgLiA9IEFMSUdOKFNFQ1RJT05fQUxJR04pOworICAgICAgICBfZWRhdGEg
PSAuOworICAgIH0gOnRleHQKKyAgICAuYnNzIEFMSUdOKDB4MSkgOiB7CisgICAgICAgIF9fYnNz
X3N0YXJ0ID0gLjsKKyAgICAgICAgKiguYnNzIC5ic3MuKikKKyAgICAgICAgKihDT01NT04pCisg
ICAgICAgIC4gPSBBTElHTihTRUNUSU9OX0FMSUdOKTsKKyAgICAgICAgX2VuZCA9IC47CisgICAg
fSA6dGV4dAorICAgIC9ESVNDQVJELyA6IHsKKyAgICAgICAgKiguaW50ZXJwKQorICAgICAgICAq
KC5ub3RlKikKKyAgICAgICAgKiguY29tbWVudCkKKyAgICAgICAgKiguYnVpbGQtaWQpCisgICAg
fQorfQotLSAKMi41My4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBz
Oi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK