From nobody Wed May 14 11:58:58 2025 X-Original-To: freebsd-embedded@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyBhz61kNz5wb4x for ; Wed, 14 May 2025 11:59:31 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [104.236.120.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyBhy683Wz3hmV for ; Wed, 14 May 2025 11:59:30 +0000 (UTC) (envelope-from karl@denninger.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of karl@denninger.net designates 104.236.120.189 as permitted sender) smtp.mailfrom=karl@denninger.net; dmarc=pass (policy=none) header.from=denninger.net Received: from denninger.net (unknown [162.81.130.228]) by colo1.denninger.net (Postfix) with ESMTP id A1B4CB16C5 for ; Wed, 14 May 2025 07:59:10 -0400 (EDT) Received: from [192.168.10.28] (D18.Denninger.Net [192.168.10.28]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id AC2EC491E4B for ; Wed, 14 May 2025 07:58:59 -0400 (EDT) Message-ID: Date: Wed, 14 May 2025 07:58:58 -0400 List-Id: Dedicated and Embedded Systems List-Archive: https://lists.freebsd.org/archives/freebsd-embedded List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-embedded@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Where/how to submit proposed patches to Nanobsd provided files? To: freebsd-embedded@freebsd.org References: <5887b3f9-8820-47fb-8d26-94e184cdafeb@denninger.net> Content-Language: en-US From: Karl Denninger In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms070807040309070107030203" X-Rspamd-Queue-Id: 4ZyBhy683Wz3hmV X-Spamd-Bar: / X-Spamd-Result: default: False [-0.36 / 15.00]; SIGNED_SMIME(-2.00)[]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_SPAM_LONG(1.00)[1.000]; NEURAL_HAM_SHORT(-0.56)[-0.564]; DMARC_POLICY_ALLOW(-0.50)[denninger.net,none]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; R_SPF_ALLOW(-0.20)[+mx]; MIME_BASE64_TEXT(0.10)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; HAS_ATTACHMENT(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:14061, ipnet:104.236.64.0/18, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEFALL_USER(0.00)[karl]; PREVIOUSLY_DELIVERED(0.00)[freebsd-embedded@freebsd.org]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[freebsd-embedded@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[] This is a cryptographically signed message in MIME format. --------------ms070807040309070107030203 Content-Type: multipart/alternative; boundary="------------IKnLCt6URPERs8FQuhmCQIdu" --------------IKnLCt6URPERs8FQuhmCQIdu Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SSdsbCBzZWUgaWYgSSBjYW4gZ2V0IGl0IGNsZWFuZWQgdXAgZW5vdWdoIHRvIGJlIGluIGEg ImNvbnNpZGVyIHRoaXMiIA0Kc29ydCBvZiBzdGF0ZSBieSB0aGUgd2Vla2VuZC4gSXQgd29y a3MgYXQgcHJlc2VudCBidXQgdGhlIGxlZ2FjeSBmaWxlLCANCmluIHBhcnRpY3VsYXIsIEkg ZHVwbGljYXRlZCBhbmQgaGVhdmlseSBlZGl0ZWQgdGhlbiBjYWxsZWQgdGhlIA0KcmVwbGFj ZW1lbnQgaW5zdGVhZCB0aHVzIGl0cyBhIGJpdCBvZiBhIG1lc3MgcmlnaHQgbm93LsKgIFRo aXMgYWxzbyB3YXMgDQp3aGF0IGdlbmVyYXRlZCBteSBidWd6aWxsYSByZXBvcnQgb24gZ3Bh cnQgKGlmIHlvdSB1c2UgIi1hIiB0byBpbnN1cmUgDQphbGlnbm1lbnQgaXQgY2FuICpzaHJp bmsqIHRoZSByZXF1ZXN0ZWQgcGFydGl0aW9uIHNpemUgd2hpY2ggaXMgYW4gDQppbnN0YW50 ICJzY3JldyB5b3UiIGlmIHlvdSB0aGVuIHRyeSB0byBkZCBhbiBpbWFnZSB5b3UgYnVpbHQg aW50byB0aGF0IA0Kc3BhY2U7IElNSE8gaXQgb3VnaHQgdG8gcm91bmQgdXAgcmF0aGVyIHRo YW4gY29uc2lkZXIgZ29pbmcgdGhlIG90aGVyIA0Kd2F5IGFzIGxlZ2l0aW1hdGUuKQ0KDQpB dCBpc3N1ZSBpcyB0aGF0IEkgd2FudCB0aGUgc2FtZSBtZWRpYSB0byB3b3JrIGluIGJvdGgg YSBwY0VuZ2luZXMgDQood2hpY2ggdXNlcyBDb3JlQm9vdCBhbmQgc29tZSBvbGRlciB2ZXJz aW9ucyBhcmUgcmF0aGVyIGNydXN0eTsgdGhlcmUgDQpBUkUgcmVhc29uYWJseS1jdXJyZW50 IHZlcnNpb25zIGF2YWlsYWJsZSBhbmQgbWluZSBoYXZlIGJlZW4gZmxhc2hlZCB0byANCnRo ZW0sIGJ1dCB0aGVyZSdzIGEgbG90IG9mIHRoYXQgb2xkZXIgaGFyZHdhcmUgb3V0IHRoZXJl IHRoYXQgd29ya3MgDQpwZXJmZWN0bHkgd2VsbCBhbmQgbGlrZWx5IGlzIG9uIHRoZSBtdWNo LW9sZGVyIHJldmlzaW9ucyAtLSBJIGhhdmUgbm8gDQppZGVhIGlmIHRob3NlIGNhbiBib290 IEdQVCBtZWRpYSBvciBub3QpIGFuZCAvYWxzbyAvYSByYXRoZXItcGlja3kgDQpFRkktb25s eSAiY3ViZSIgKEdNS3RlYyAibWluaSBQQyIpIHRoYXQsIGFzIGl0IHR1cm5zIG91dCwgbWFr ZXMgYSB2ZXJ5IA0KbmljZSBnaWdhYml0LWxldmVsIHJvdXRlci9maXJld2FsbCBhcyBpdCBo YXMgYW4gTjE1MCBDUFUgaW4gaXQsIHNpcHMgDQpwb3dlciBhbmQgY2FuIHNhdHVyYXRlIGJv dGggMUcgaW50ZXJmYWNlcyB3aXRob3V0IGJyZWFraW5nIGEgc3dlYXQgcGx1cyANCmlmIHlv dSB3YW50IGl0IGhhcyBXaUZpIGluIGl0IHRvbyAtLSBhbmQgdGhleSdyZSBjaGVhcCBvbiB0 b3Agb2YgaXQuKcKgIA0KVGhhdCBzZWNvbmQgbGl0dGxlIFNPQiBob3dldmVyIGdvZXMgZGly ZWN0bHkgdG8gdGhlIEJJT1MgaWYgaXQgZG9lc24ndCANCmxpa2UgdGhlIEVGSSBsYXlvdXQg cmF0aGVyIHRoYW4gdGhlIEVGSSBzaGVsbDsgaXQgc2hpcHMgd2l0aCBXaW5kb3dzIG9uIA0K aXQgYW5kIGZvciB0aGlzIHB1cnBvc2UgSSBwdWxsIHRoZSBTU0QgZW50aXJlbHkgc2luY2Ug SSB3YW50IHRoZSANCiJwb3dlci1mYWlsIHNhZmUiIGNhcGFjaXR5LCB0aHVzIEkgYm9vdCBm cm9tIGEgVVNCLWtleSBpbiAibmFubyIgbW9kZS7CoCANCklmIHlvdSBzdGljayB0aGUgbG9h ZGVyIGluIC9FRkkvRnJlZUJTRCBpdCBpZ25vcmVzIGl0OyBpdCB3YW50cyBpdCBpbiANCi9F RkkvQk9PVCBhbmQgb25seSB0aGVyZSwgYXQgbGVhc3QgZm9yICJmaXJzdCB0aW1lIGFyb3Vu ZCIgYW5kIGl0IHdpbGwgDQpub3QgYm9vdCBhIGNvbXBhdGliaWxpdHktbW9kZSBkZXZpY2Ug YXQgYWxsLsKgIEl0IGFsbW9zdC1jZXJ0YWlubHkgd2lsbCANCmJvb3QgYSBHUFQgVVNCIGtl eSBidXQgc2luY2UgSSBkb24ndCB0aGluayB0aGUgb2xkZXIgcGNFbmdpbmVzIGZpcm13YXJl IA0Kd2lsbCBJIGRlY2lkZWQgdG8gZ28gdGhlIE1CUiByb3V0ZS4NCg0KVWx0aW1hdGVseSBJ IGludGVuZCB0byBwdXQgdGhhdCBpbWFnZSB1cCBvbiBteSBzZXJ2ZXIgdG8gdGhlIHB1Ymxp YyBhcyANCml0cyBhIG5pY2UgInNldCAvZXRjL3JjLmNvbmYsIGRvIHNhdmVfY2ZnIGFsb25n IHdpdGggdGhlIGlwZncgcGFyYW1ldGVyIA0KZmlsZSBhbmQgeW91J3JlIGRvbmUiIGZpcmV3 YWxsL3JvdXRlciB0aGF0IGhhcyBTdHJvbmdzd2FuIGJ1aWx0IGludG8gaXQgDQphbG9uZyB3 aXRoIGEgYnVuY2ggb2Ygb3RoZXIgdXNlZnVsIHN0dWZmLsKgIEl0cyB0aGUgbG9hZCBJJ3Zl IGJlZW4gdXNpbmcgDQptb3JlIG9yIGxlc3MgZm9yIHRoZSBsYXN0IG1hbnkgeWVhcnMgd2l0 aCB0aGUgaWRlYSBiZWluZyB0aGF0IGl0cyBhIA0KInByZS1idWlsdCBhbmQgcG93ZXItZmFp bC1zYWZlIiBvcHRpb24gZm9yIGFueXRoaW5nIHRoYXQgcnVucyBhIDY0LWJpdCANCkludGVs LXN0eWxlIHByb2Nlc3NvciB0aGF0IGNhbiBib290IEZyZWVCU0QuDQoNCldoZXJlIEkgd291 bmQgdXAgd2l0aCB3b3JrcyBidXQgcXVpdGUgYSBiaXQgb2YgaGFpciB3YXMgZXh0cmFjdGVk IGZyb20gDQpteSBoZWFkIGluIHRoZSBwcm9jZXNzIHNvIGEgYml0IG9mIGNsZWFudXAgaXMg bmVjZXNzYXJ5IGJlZm9yZSBJIHN1Ym1pdCANCml0Li4uIDotKQ0KDQpPbiA1LzEzLzIwMjUg MjI6MjQsIFdhcm5lciBMb3NoIHdyb3RlOg0KPg0KPg0KPiBPbiBUdWUsIE1heSAxMywgMjAy NSwgNzo0MOKAr0FNIEthcmwgRGVubmluZ2VyIDxrYXJsQGRlbm5pbmdlci5uZXQ+IHdyb3Rl Og0KPg0KPiAgICAgSSd2ZSBwdXQgc29tZSB0aW1lIGluIG9uIHRoZSAiTmFub2JzZCIgYnVp bGQgcHJvY2VzcyBmaWxlcyB0aGF0IGRvDQo+ICAgICBhIGZldyB0aGluZ3M6DQo+DQo+ICAg ICAxLiBTdXBwb3J0IGVmaSBkdWFsLWJvb3QgbW9kZSAoRUZJIG9yIG5vdCkgd2hpbGUga2Vl cGluZyBhbiBNQlINCj4gICAgIHBhcnRpdGlvbiBsYXlvdXQgc28gb2xkZXIgZGV2aWNlcyBj YW4gc3RpbGwgYm9vdCB0aGUgbWVkaWEgYW5kDQo+ICAgICBhbHNvIGtlZXAgdGhlIGRhdGEg cGFydGl0aW9uLsKgIEJhc2ljYWxseSwgc2V0IHVwIFBhcnRpdGlvbiA0IGFzIGFuDQo+ICAg ICBleHRlbmRlZCAiQlNEIiBwYXJ0aXRpb24gd2l0aCAiYSIgKGNmZykgYW5kICJkIiAoZGF0 YSwgaWYgbm9uLXplcm8NCj4gICAgIHNpemUpIHNvIHRoZXkgYm90aCB3b3JrLsKgIFRoaXMg aW52b2x2ZWQgZXNzZW50aWFsbHkgYSByZXdyaXRlIG9mDQo+ICAgICB0aGUgImxlZ2FjeSIg ZmlsZSBlbnRpcmVseSBzaW5jZSB0aGUgcGFydGl0aW9uIGNyZWF0aW9uIHdhcyBkb25lDQo+ ICAgICB0aHJvdWdoIGF3ayBiYXNpY2FsbHkgZW1pdHRpbmcgYSBzY3JpcHQgaXQgdGhlbiBl eGVjdXRlZDsgaXQgd2FzDQo+ICAgICBtdWNoIGVhc2llciB0bywgZHVlIHRvIHRoZSBkaWZm ZXJlbnQgdHlwZXMgaW52b2x2ZWQsIGp1c3QgZG8NCj4gICAgICJuYWgiLCBtYWtlIGEgY2Fs Y3VsYXRpb24gZm9yIHRoZSBjb2RlIHNlZ21lbnRzLCBzdWJ0cmFjdCBvZmYNCj4gICAgIHNw YWNlIGZvciB0aGUgRUZJIHBhcnRpdGlvbiBhbmQgY2ZnIGFyZWEgYW5kIHRoZW4gdXNlIHdo YXQncyBsZWZ0DQo+ICAgICBmb3IgZGF0YS4NCj4NCj4gVGhpcyBoYXMgYWxyZWFkeSBiZWVu IHJld3JpdHRlbiB0byBub3QgdXNlIHRoZSBhd2sgc2NyaXB0LCBJIHRob3VnaHQuIA0KPiBU aG91Z2ggbWF5YmUganVzdCBmb3IgZ3B0IHNpbmNlIHZlcnkgZmV3IHN5c3RlbXMgYWN0dWFs bHkgcmVxdWlyZSBtYnIuDQo+DQo+ICAgICAyLiBQdXQgdGhlIEVGSSBwYXJ0aXRpb24gaW4g c2xvdCAzIHRodXMgdGhlICJkdWFsIGltYWdlLCBvbmxpbmUNCj4gICAgIHVwZGF0ZSIgY2Fw YWNpdHkgaXMgdW5wZXJ0dXJiZWQuwqAgUGxhY2UgdGhlIGxvYWRlciBpbg0KPiAgICAgRUZJ L0JPT1Qve2FyY2hpdGVjdHVyZS1zcGVjaWZpYy1uYW1lfSBhcyBkZWZpbmVkIGluIHRoZSBj b25maWcNCj4gICAgIGZpbGUuwqAgVGhpcyBpcyBoYXJtbGVzcyBpZiB0aGUgbWFjaGluZSBp cyBDU00gYm9vdCBidXQgaWYgaXRzIEVGSQ0KPiAgICAgaXQgd2lsbCBmaW5kIGl0IGFuZCBi b290IHVzaW5nIGl0Lg0KPg0KPg0KPiBUaGlzIGlzIGdvb2QuDQo+DQo+ICAgICAzLiBVcGRh dGUgdGhlICJ1cGRhdGVweCIgZmlsZXMgZGlzdHJpYnV0ZWQgdG8gbG9vayBmb3IgYW4gRUZJ DQo+ICAgICBwYXJ0aXRpb24gb24gdGhlIE5hbm9CU0QgZGV2aWNlIGFuZCwgaWYgZm91bmQs IHNldCBsb2FkZXIuZW52DQo+ICAgICB3aGljaCBzaG91bGQgdGhlbiBjYXVzZSB0aGUgRUZJ IGxvYWRlciB0byB1c2UgdGhlIGNvcnJlY3QgbG9hZA0KPiAgICAgcGFydGl0aW9uIHNpbmNl IHRoZSAiYWN0aXZlIiBmbGFnIGlzIGlnbm9yZWQgb3RoZXJ3aXNlLg0KPg0KPiBFZmlib290 bWdyIGlzIHRoZSBuZXcgd2F5LiBXaGVuIGl0IHdvcmtzLCBpdHMgdGhlIG1vc3QgcmVsaWFi bGUuDQo+DQo+IFRoZXJlJ3MgYWxzbyBhIGdwdGJvb3QuZWZpIGlmIHlvdSB3YW50IGFuIG9u IG1lZGlhIHRoaW5nIHRoYXQgZG9lc24ndCANCj4gaWdub3JlIHRoZSBGcmVlQlNEIHNwZWNp ZmljIGhhY2svcGFydGl0aW9uIGZsYWcuDQo+DQo+ICAgICBTaG91bGQgSSBwdXQgdGhlc2Ug dXAgc29tZXdoZXJlIGZvciBwb3NzaWJsZSByZXZpZXcgYW5kDQo+ICAgICBpbmNsdXNpb24/ wqAgSSB1c2UgdGhpcyB0byBidWlsZCBib290YWJsZSBzdGlja3Mgb3IgU0QgY2FyZHMgZm9y DQo+ICAgICBmaXJld2FsbCBhcHBsaWFuY2VzIHRoYXQgcnVuICJyZWFkLW9ubHkiIGFuZCB0 aHVzIGFyZSBwb3dlci1mYWlsDQo+ICAgICBzYWZlLCBhbmQgaGF2ZSB0ZXN0ZWQgYWdhaW5z dCBib3RoIGEgY29tbW9kaXR5IEVGSS1ib290LW9ubHkNCj4gICAgIGR1YWwtTklDICJOVUMi IHN0eWxlIFBDIGFuZCBhbHNvIHRoZSBvbGRlciBwY0VuZ2luZXMgYXB1MiBzZXJpZXMuDQo+ DQo+IFllYS4gSSd2ZSBiZWVuIGJ1c3kgZm9yIGEgd2hpbGUsIGJ1dCBhbSBzdGFydGluZyB0 byBoYXZlIHRpbWUgYWdhaW4uIEkgDQo+IHRoaW5rIGkgcmVwbGllZCB0byBzdWJtaXQgYSBn aXRodWIgcHVsbCByZXF1ZXN0LiBJIG5vdGljZSB0aG9zZS4gDQo+IEFueXRoaW5nIGVsc2Ug aXMgYSBodWdlIGNyYXAgc2hvb3Qgc2luY2UgYnogaGFzIGEgdGVycmlibGUgY29kZSByZXZp ZXcgDQo+IGludGVyZmFjZSAoYW5kIEkgaGF2ZSB0b28gbWFueSBidWdzIGFzc2lnbmVkIHRv IG1lIGFueXdheSkgYW5kIA0KPiBwaGFicmljYXRvciBpcyB0ZXJyaWJsZSBmb3Igbm9uLWNv bW1pdHRlcnMgc2luY2UgdGhlcmUncyBubyBvdmVyc2lnaHQuIA0KPiBXZSdyZSBnZXR0aW5n IGJldHRlciBhdCBidWd6aWxsYSBhdCBsZWFzdC4NCj4NCj4gQnV0IEkgYW0gcGxhbm5pbmcg YSBnaXRodWIgcnVuIG5leHQgd2VlayBvbmxpbmUgb24gRGlzY29yZCBzbyBpZiB5b3UgDQo+ IGhhdmUgaXQgc3VibWl0dGVkIGJ5IFNhdHVyZGF5IGl0IHdpbGwgYmUgaW4gZm9yIHN1cmUg Zm9yIHRoYXQgYW5kIEkgDQo+IG1pZ2h0IGJlIGFibGUgdG8gZG8gYSByZXZpZXcgYmVmb3Jl IGl0IGV2ZW4uDQo+DQo+IFdhcm5lcg0KPg0KPg0KPiAgICAgLS0gDQo+ICAgICBLYXJsIERl bm5pbmdlcg0KPiAgICAga2FybEBkZW5uaW5nZXIubmV0DQo+ICAgICAvVGhlIE1hcmtldCBU aWNrZXIvDQo+ICAgICAvW1MvTUlNRSBlbmNyeXB0ZWQgZW1haWwgcHJlZmVycmVkXS8NCj4N Ci0tIA0KS2FybCBEZW5uaW5nZXINCmthcmxAZGVubmluZ2VyLm5ldA0KL1RoZSBNYXJrZXQg VGlja2VyLw0KL1tTL01JTUUgZW5jcnlwdGVkIGVtYWlsIHByZWZlcnJlZF0vDQo= --------------IKnLCt6URPERs8FQuhmCQIdu Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I'll see if I can get it cleaned up enough to be in a "consider this" sort of state by the weekend.=C2=A0= It works at present but the legacy file, in particular, I duplicated and heavily edited then called the replacement instead thus its a bit of a mess right now.=C2=A0 This also was what genera= ted my bugzilla report on gpart (if you use "-a" to insure alignment it can *shrink* the requested partition size which is an instant "screw you" if you then try to dd an image you built into that space; IMHO it ought to round up rather than consider going the other way as legitimate.)

At issue is that I want the same media= to work in both a pcEngines (which uses CoreBoot and some older versions are rather crusty; there ARE reasonably-current versions available and mine have been flashed to them, but there's a lot of that older hardware out there that works perfectly well and likely is on the much-older revisions -- I have no idea if those can boot GPT media or not) and also a rather-picky EFI-only "cube" (GMKtec "mini PC") that, as it turns out, makes a very nice gigabit-level router/firewall as it has an N150 CPU in it, sips power and can saturate both 1G interfaces without breaking a sweat plus if you want it has WiFi in it too -- and they're cheap on top of it.)=C2=A0 That second little SOB however goes directly to the B= IOS if it doesn't like the EFI layout rather than the EFI shell; it ships with Windows on it and for this purpose I pull the SSD entirely since I want the "power-fail safe" capacity, thus I boot from a USB-key in "nano" mode.=C2=A0 If you stick the loader in /EFI/FreeBSD it ignores it; it wants it in /EFI/BOOT and only there, at least for "first time around" and it will not boot a compatibility-mode device at all.=C2=A0 It almost-certainly will bo= ot a GPT USB key but since I don't think the older pcEngines firmware will I decided to go the MBR route.

Ultimately I intend to put that image up on my server to the public as its a nice "set /etc/rc.conf, do save_cfg along with the ipfw parameter file and you're done" firewall/router that has Strongswan built into it along with a bunch of other useful stuff.=C2=A0 Its the load I've been using mor= e or less for the last many years with the idea being that its a "pre-built and power-fail-safe" option for anything that runs a 64-bit Intel-style processor that can boot FreeBSD.

Where I wound up with works but quite = a bit of hair was extracted from my head in the process so a bit of cleanup is necessary before I submit it... :-)

On 5/13/2025 22:24, Warner Losh wrote:=


On Tue, May 13, 2025, 7:40=E2=80=AFAM Karl Denninger <karl@denninger.net>= ; wrote:

I've put some time in on the "Nanobsd" build process files that do a few things:

1. Support efi dual-boot mode (EFI or not) while keeping an MBR partition layout so older devices can still boot the media and also keep the data partition.=C2=A0 Basically, set up Partition 4 as an extended "BSD" partition with "a" (cfg) and "d" (data, if non-zero size) so they both work.=C2=A0 This involve= d essentially a rewrite of the "legacy" file entirely since the partition creation was done through awk basically emitting a script it then executed; it was much easier to, due to the different types involved, just do "nah", make a calculation for the code segments, subtract off space for the EFI partition and cfg area and then use what's left for data.

This has already been rewritten to not use the awk script, I thought. Though maybe just for gpt since very few systems actually require mbr.

2. Put the EFI partition in slot 3 thus the "dual image, online update" capacity is unperturbed.=C2=A0 Pl= ace the loader in EFI/BOOT/{architecture-specific-name} as defined in the config file.=C2=A0 This is harmless if t= he machine is CSM boot but if its EFI it will find it and boot using it.


This is good.

3. Update the "updatepx" files distributed to look for an EFI partition on the NanoBSD device and, if found, set loader.env which should then cause the EFI loader to use the correct load partition since the "active" flag is ignored otherwise.

Efibootmgr is the new way. When it works, its the most reliable.

There's also a gptboot.efi if you want an on media thing that doesn't ignore the FreeBSD specific hack/partition flag.

Should I put these up somewhere for possible review and inclusion?=C2=A0 I use this to build bootable stick= s or SD cards for firewall appliances that run "read-only" and thus are power-fail safe, and have tested against both a commodity EFI-boot-only dual-NIC "NUC" style PC and also the older pcEngines apu2 series.

Yea. I've been busy for a while, but am startin= g to have time again. I think i replied to submit a github pull request. I notice those. Anything else is a huge crap shoot since bz has a terrible code review interface (and I have too many bugs assigned to me anyway) and phabricator is terrible for non-committers since there's no oversight. We're getting better at bugzilla at least.

But I am planning a github run next week online= on Discord so if you have it submitted by Saturday it will be in for sure for that and I might be able to do a review before it even.

Warner


--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]<= /div> --------------IKnLCt6URPERs8FQuhmCQIdu-- --------------ms070807040309070107030203 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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 AErFeyviQACYVhHU0s2bAAAAAAAA --------------ms070807040309070107030203--