Date: Tue, 17 Jun 2025 06:18:13 -0400 From: Karl Denninger <karl@denninger.net> To: freebsd-hackers@freebsd.org Subject: Re: An idea for the EFI (LUA) loader.... Message-ID: <009e52a1-4d6f-42b6-905f-53fbf1c69065@denninger.net> In-Reply-To: <9c7f2953-2fb3-4c36-977c-41aa7fd55c5c@delphij.net> References: <eef03d5d-c906-40ea-b319-0497eda6812b@denninger.net> <9c7f2953-2fb3-4c36-977c-41aa7fd55c5c@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a cryptographically signed message in MIME format. --------------ms090108030709050302030509 Content-Type: multipart/alternative; boundary="------------fm9IaQV9WvqMSEvu7IhmyZOY" --------------fm9IaQV9WvqMSEvu7IhmyZOY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiA2LzE3LzIwMjUgMDI6NDcsIFhpbiBMaSB3cm90ZToNCj4gT24gMjAyNS0wNi0xNiAx ODowNSwgS2FybCBEZW5uaW5nZXIgd3JvdGU6DQo+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IGl0 IHdhbnRzIHNvbWV0aGluZyBsaWtlICJyb290ZGV2PWRpc2swczFhIiAtLSBhIA0KPj4gZnVs bCBzcGVjaWZpY2F0aW9uLg0KPg0KPiBJZiBaRlMgaXMgYW4gb3B0aW9uLCB5b3UgY2FuIHNh eSBzb21ldGhpbmcgbGlrZToNCj4NCj4gcm9vdGRldj16ZnM6bXlkZXZpY2UtYm9vdC9ST09U L2RlZmF1bHQ6DQo+IGN1cnJkZXY9emZzOm15ZGV2aWNlLWJvb3QvUk9PVC9kZWZhdWx0Og0K Pg0KPiBpbiBFRkkncyBGcmVlQlNEL2xvYWRlci5lbnY7IFpGUyBoYXZlIG11Y2ggYmV0dGVy IHdheSB0byBmaW5kIG91dCB0aGUgDQo+IHJpZ2h0IGRldmljZSBhbmQgZG9lcyBub3QgcmVs eSBvbiBwcm9iZSBvcmRlci4NCj4NCkJ1dCBpdCBpc24ndC4NCg0KVGhpcyBpcyBhbiAic29y dC1vZi1lbWJlZGRlZCIgZW52aXJvbm1lbnQuwqAgVGhlIGdvYWwgaXMgIm9uZSBtZWRpYSB0 aGF0IA0KYm9vdHMgdGhlbSBhbGwsIHByb3ZpZGVkIHdlIGhhdmUgdGhlIGRyaXZlcnMgZm9y IHlvdXIgbmV0d29yayBjYXJkIGFuZCANCml0cyBhbiBBTUQgY29tcGF0aWJsZSBDUFUuIg0K DQpUaHVzIGl0IGhhcyB0byBib290IGluIHNvbWV0aGluZyBsaWtlIGEgcGNFbmdpbmVzIGFw dTIgKHdoaWNoIGhhcyBubyANCmlkZWEgd2hhdCBFRkkgaXMsIGFuZCB3b24ndCBib290IGEg R1BUIFVTQiBzdGljayBlaXRoZXIpIGFuZCBhbHNvIGJlIA0KYWJsZSB0byBiZSBzdHVjayBp bnRvIHNvbWV0aGluZyBsaWtlIGEgR01LVGVrICJjdWJlIFBDIiB3aGljaCBoYXMgbm8gQ1NN IA0KbW9kZSAoRUZJIGJvb3Qgb25seS4pwqAgSSdsbCBsaXZlIHdpdGggdGhlIGNvbnN0cmFp bnQgdGhhdCBhbnkgb3RoZXIgDQptZWRpYSBpbiBvciBjb25uZWN0ZWQgdG8gaXQgKGUuZy4g b24gYSBVU0IgaW50ZXJmYWNlLCBldGMpIGVpdGhlciBjYW4ndCANCmJlIGJvb3RhYmxlIE9S IHlvdSBoYXZlIHNldCB0aGUgYm9vdCBvcmRlciBpbiB0aGUgQklPUyBzbyB0aGUgc3RpY2sg DQp0aGF0J3MgcGx1Z2dlZCBpbiBpcyB0aGUgZmlyc3QgdG8gYmUgY29uc2lkZXJlZC4NCg0K SSBidWlsZCB0aGVzZSB1c2luZyAibmFub2JzZCIgc28gdGhleSdyZSBwb3dlci1mYWlsIHNh ZmUgYW5kIHRoZSANCmNhcGFiaWxpdHkgdG8gcHVsbCB0aGUgc3RpY2sgaW4gdGhlIGV2ZW50 IG9mIGEgaGFyZHdhcmUgZmFpbHVyZSwgc2hvdmUgDQppdCBpbnRvIHNvbWV0aGluZyBlbHNl IGFuZCB3aXRoIGEgZGUtbWluaW11cyBzZXQgb2YgZWRpdHMgKGUuZy4gIndoYXQgDQphcmUg dGhlIGV0aGVybmV0IGludGVyZmFjZXMgY2FsbGVkIikgaWYgZGlmZmVyZW50IChlLmcuIGln YiAudnMuIGl4KSBpdCANCndpbGwgY29tZSB1cCBhbmQgcnVuLg0KDQpUaGluayBlZGdlIGdh dGV3YXkvZmlyZXdhbGwgYXBwbGlhbmNlLg0KDQpJIHRlbmQgdG8gc3RpY2sgdGhlc2UgaW1h Z2VzIG91dCB3aGVyZSBhbnlvbmUgY2FuIGdyYWIgYW5kIHVzZSB0aGVtIHdpdGggDQphIGRl Y2VudCBzZXQgb2Ygc29mdHdhcmUgaW5jbHVkZWQgKGUuZy4gU3Ryb25nc3dhbiwgZXRjLik7 IEkgdXNlZCB0byANCmJ1aWxkIHRoZW0gZm9yIHRoZSBwY0VuZ2luZXMgaW50ZXJuYWwgc2Qg Y2FyZCBzbG90IHdoaWNoIGNhbWUgdXAgYXMgDQoibW1jc2QwIiBidXQgdGhvc2UgZ3V5cyBh cmUgZ29uZSwgdGhleSdyZSBub3QgZmFzdCBlbm91Z2ggdG8gc2F0dXJhdGUgYSANCmZ1bGwg Z2lnYWJpdCBjb25uZWN0aW9uIGFueXdheSBhbmQsIGFzIGl0IHR1cm5zIG91dCwgYmFzaWNh bGx5IA0KZXZlcnl0aGluZyB0b2RheSB3aGVuIGl0IGJvb3RzIEZyZWVCU0QgaWRlbnRpZmll cyBhIFVTQiBzdGljayBhcyBhICJkYSIgDQpkZXZpY2UsIHNvIGlmIGl0cyB0aGUgb25seSBz dG9yYWdlIGRldmljZSBvbiBVU0IgaXQgd2lsbCBjb21lIHVwIGFzIA0KImRhMCIgd2hpY2gg d29ya3MgbmljZWx5IChhbmQgcXVpdGUgY29uc2lzdGVudGx5KSBvbmNlIHRoZSBrZXJuZWwg aXMgDQpsb2FkZWQuwqAgVGhlIGdvYWwgaXMgIm9uZSBpbWFnZSB0aGF0IHdpbGwgYm9vdCBh bmQgcnVuIG9uIG1vc3QsIGZyb20gb2xkIA0KYW5kIGNydXN0eSB0byBuZXcgYW5kIHNoaW55 LiINCg0KVGhlIGtleSBlbGVtZW50IHRoYXQgZHJpdmVzIHRoZSByZXF1ZXN0IGlzIHRoYXQg bmFub2JzZCBhbGxvd3Mgb25saW5lIA0KdXBkYXRpbmcgLS0gdGhhdCBpcywgdGhlcmUgYXJl IHR3byBzeXN0ZW0gcGFydGl0aW9ucyBhbmQgeW91IGNhbiB1cGRhdGUgDQp0aGUgb25lIHRo YXQgaXNuJ3QgcnVubmluZyB3aXRoIGEgImRkIiBhbmQgdGhlbiByZWJvb3QgdG8gYWN0aXZh dGUgaXQuwqAgDQpJIHJlc29sdmVkIHRoZSBpc3N1ZSBvZiBsb3NpbmcgdGhlIGRhdGEgcGFy dGl0aW9uIGluIHRoZSBuYW5vYnNkIGJ1aWxkIA0KaWYgeW91IGhhdmUgRUZJIGFzIGFuIG9w dGlvbiBidXQgdGhhdCBsZWF2ZXMgbWUgd2l0aCB0aGlzIHdoaWNoIEkndmUgbm90IA0KYmVl biBzdWNjZXNzZnVsIHNvcnRpbmcgb3V0IHJlbGlhYmx5IHdpdGggdGhlIHRvb2xzIGF2YWls YWJsZS4NCg0KLS0gDQpLYXJsIERlbm5pbmdlcg0Ka2FybEBkZW5uaW5nZXIubmV0DQovVGhl IE1hcmtldCBUaWNrZXIvDQovW1MvTUlNRSBlbmNyeXB0ZWQgZW1haWwgcHJlZmVycmVkXS8N Cg== --------------fm9IaQV9WvqMSEvu7IhmyZOY Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <!DOCTYPE html> <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF= -8"> </head> <body> <p><br> </p> <div class=3D"moz-cite-prefix">On 6/17/2025 02:47, Xin Li wrote:<br> </div> <blockquote type=3D"cite" cite=3D"mid:9c7f2953-2fb3-4c36-977c-41aa7fd55c5c@delphij.net">On 2025-06-16 18:05, Karl Denninger wrote: <br> <blockquote type=3D"cite">The problem is that it wants something like "rootdev=3Ddisk0s1a" -- a full specification. <br> </blockquote> <br> If ZFS is an option, you can say something like: <br> <br> rootdev=3Dzfs:mydevice-boot/ROOT/default: <br> currdev=3Dzfs:mydevice-boot/ROOT/default: <br> <br> in EFI's FreeBSD/loader.env; ZFS have much better way to find out the right device and does not rely on probe order. <br> <br> </blockquote> <p>But it isn't.</p> <p>This is an "sort-of-embedded" environment.=C2=A0 The goal is "one media that boots them all, provided we have the drivers for your network card and its an AMD compatible CPU."</p> <p>Thus it has to boot in something like a pcEngines apu2 (which has no idea what EFI is, and won't boot a GPT USB stick either) and also be able to be stuck into something like a GMKTek "cube PC" which has no CSM mode (EFI boot only.)=C2=A0 I'll live with the constraint that any other media in or connected to it (e.g. on a USB interface, etc) either can't be bootable OR you have set the boot order in the BIOS so the stick that's plugged in is the first to be considered.</p> <p>I build these using "nanobsd" so they're power-fail safe and the capability to pull the stick in the event of a hardware failure, shove it into something else and with a de-minimus set of edits (e.g. "what are the ethernet interfaces called") if different (e.g. igb .vs. ix) it will come up and run.</p> <p>Think edge gateway/firewall appliance.</p> <p>I tend to stick these images out where anyone can grab and use them with a decent set of software included (e.g. Strongswan, etc.); I used to build them for the pcEngines internal sd card slot which came up as "mmcsd0" but those guys are gone, they're not fast enough to saturate a full gigabit connection anyway and, as it turns out, basically everything today when it boots FreeBSD identifies a USB stick as a "da" device, so if its the only storage device on USB it will come up as "da0" which works nicely (and quite consistently) once the kernel is loaded.=C2=A0 The goal = is "one image that will boot and run on most, from old and crusty to new and shiny."<br> </p> <p>The key element that drives the request is that nanobsd allows online updating -- that is, there are two system partitions and you can update the one that isn't running with a "dd" and then reboot to activate it.=C2=A0 I resolved the issue of losing the dat= a partition in the nanobsd build if you have EFI as an option but that leaves me with this which I've not been successful sorting out reliably with the tools available.<br> </p> <div class=3D"moz-signature">-- <br> Karl Denninger<br> <a href=3D"mailto:karl@denninger.net" class=3D"moz-txt-link-freetex= t">karl@denninger.net</a><br> <i>The Market Ticker</i><br> <font size=3D"-2"><i>[S/MIME encrypted email preferred]</i></font><= /div> </body> </html> --------------fm9IaQV9WvqMSEvu7IhmyZOY-- --------------ms090108030709050302030509 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC C4owggWZMIIDgaADAgECAhRZU8dKdMneRI1Vq5kv0k54Q5rQuDANBgkqhkiG9w0BAQsFADB2 MQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRYwFAYDVQQKDA1EZW5uaW5nZXIu TmV0MRcwFQYDVQQDDA5EZW5uaW5nZXIgUm9vdDEiMCAGCSqGSIb3DQEJARYTYWRtaW5AZGVu bmluZ2VyLm5ldDAeFw0yNDA1MDkyMTA4MDNaFw00NDA1MDQyMTA4MDNaMF0xCzAJBgNVBAYT AlVTMRIwEAYDVQQIDAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNV BAMMGURlbm5pbmdlci5OZXQgU2lnbmluZyBJbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDbR0tSiuLG5HPfo+cWtdeYQ8jc8Bjfuo0GTcNRT0glHnH1apUtInIktUknEZDH ohahInN+mMBdKg54FCHOiYZrJbyxBIo9FwX7hRmOc+spxmSYWnOd2E/YcGInMK4ZpjPzldzB Yt1n3zygkhx2bssxTJS3x4nv1qAXfLSZd1VwqoQufifEoPyTtymkkvHLv86vLgqAqooM/cXc 4LSIQ5u2uM308n42r8RkKtp7X1v9fJW8oRZN2XnFZtiUPH44YY2rHqyN2Hea9Y3+TXbldXjo xhPHTA+JYVFq8KTmbQBqU7YcMhlIG0cSxPeFLMxnP6pqPcIVTAlK+a6YGRFppfjZAgMBAAGj ggE2MIIBMjAdBgNVHQ4EFgQUH+VuxXhBxaJAQrvDekwkH91hBi4wgbMGA1UdIwSBqzCBqIAU RFYC4p6L6KITnEvrpx2cyt+PcMmheqR4MHYxCzAJBgNVBAYTAlVTMRIwEAYDVQQIDAlUZW5u ZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5OZXQxFzAVBgNVBAMMDkRlbm5pbmdlciBSb290 MSIwIAYJKoZIhvcNAQkBFhNhZG1pbkBkZW5uaW5nZXIubmV0ghQZE7NBItWtQsCouuwU6jZ+ HPPwnjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+gLaAr hilodHRwOi8vd3d3LmRlbm5pbmdlci5uZXQvcm9vdC1yZXZva2VkLmNybDANBgkqhkiG9w0B AQsFAAOCAgEAfFbhPc82AfhyUqONs7IccYD36w+OP4nQgwfC4IWf3y/aQAZ2Zk6IITzYqwf7 PFM0bJRT3zi7xyetolqHDhfMJvnOQWpITZiyM/FSKwIvuBsy/uJUqPuqui4XQMYoSbAA1qmI MW/z7VZZHwaRFoeWE40UirYcf0fNcooBZ72bmd+iBaVyjtZvky0Vgcz0eC6e6LR5kNb23yC6 TkyQIlGyQkK5/afXUYFzk49rOHVbVyxW3oXRfq8Ow6HCrpDGAS8p84S04MFwBVAUfbe4aXs3 bampaI2LzKgkVywyFP14LSvvdjCfLYfnLy1Z9hm2EHMqNHA2tCGdRhWp2d7aZC1MYFqng0ZS fjPJjqHrI1qPU0p6k9A1GxAtrQlL2v/IUzUnMZkiawFV3qlxMGZf/kTYTUOcJhx1KU4zSLHu 80qO7ldRpp5gHssCAGFbeTu2gp6LxfmaFhLPDBJ1VGfdPx9lUrU/9OcoHczcl5x2Rb8IUZyX 9elzP5WdAU8p5R/DLlOAq24VcabhFtYBCA2dOESLupSfWKNQuJCN/1gz7ysSc+mjnnPV77IO mpszJfkFFJEDNJlGIVKX1vwwygtC/9Ulox8frgbZlRAYAgDc/YbOBFxticVVre0Y3Ujx6Kzb tkgZRlgfdZWbT1W5smncqJxg5qAL8e/yTb3fCe2nJ0jhiP4wggXpMIIE0aADAgECAhMAmNFt CiCF3j+FwQLYtBTmGjzkMA0GCSqGSIb3DQEBCwUAMF0xCzAJBgNVBAYTAlVTMRIwEAYDVQQI DAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNVBAMMGURlbm5pbmdl ci5OZXQgU2lnbmluZyBJbnQwHhcNMjQwNTEwMTkyNjU5WhcNMjkwNTA5MTkyNjU5WjBXMQsw CQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRcwFQYDVQQKDA5LYXJsIERlbm5pbmdl cjEbMBkGA1UEAwwSa2FybEBkZW5uaW5nZXIubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAvh1UssVbSYctzobPjwBkbjv/w4WvQNepeRTwE6+sLnXvc41+X9pa5EclPL4Q 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 ls6uqo2L96WinEqADhmYAAAAAAAA --------------ms090108030709050302030509--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?009e52a1-4d6f-42b6-905f-53fbf1c69065>