From owner-freebsd-hackers Thu May 9 0:51:48 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from ns2.gnf.org (ns2.gnf.org [63.196.132.68]) by hub.freebsd.org (Postfix) with ESMTP id 54C1B37B404 for ; Thu, 9 May 2002 00:51:41 -0700 (PDT) Received: from mail.gnf.org (smtp.gnf.org [172.25.11.11]) by ns2.gnf.org (8.11.6/8.11.6) with ESMTP id g497g6O50306; Thu, 9 May 2002 00:42:10 -0700 (PDT) (envelope-from gordont@gnf.org) Received: by mail.gnf.org (Postfix, from userid 888) id 5855811E511; Thu, 9 May 2002 00:51:36 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.gnf.org (Postfix) with ESMTP id 53F5311A572; Thu, 9 May 2002 00:51:36 -0700 (PDT) Date: Thu, 9 May 2002 00:51:36 -0700 (PDT) From: Gordon Tetlow To: hackers@freebsd.org Subject: nextboot loader diff Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="430705419-43853349-1020930086=:558" Content-ID: Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --430705419-43853349-1020930086=:558 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: I've finally learned enough forth to put together a diff to implement some nextboot functionality in the loader. Basically, the loader peeks into the first line of /boot/nextboot.conf to see if nextboot_enable="YES" is there. If it is, it reads the entire config, then rewrites the first line to nextboot_enable="NO" The difference between this code and Wes Peters' is that this will rewrite the /boot/nextboot.conf so that if you boot a kernel and it hangs before entering multi-user, upon the machine resetting, it will then restore back to the original settings and (hopefully) come back up on a known good kernel. This should make it easier to test out kernels on machines that you don't have console access to. There is a quick shell script called nextboot to manage the /boot/nextboot.conf file and let's you set 2 common loader arguments. It was a quick hack and probably needs to be cleaned up before a commit. To use the patch: cd /usr/src patch < /path/to/patch cd /usr/src/sbin/reboot make all install cd /usr/src/sys/boot make install Let me know what you think. -gordon --430705419-43853349-1020930086=:558 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="nextboot.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="nextboot.diff" LS0tIHNiaW4vcmVib290L01ha2VmaWxlLm9yaWcJVGh1IE1heSAgOSAwMDoz MToyMSAyMDAyDQorKysgc2Jpbi9yZWJvb3QvTWFrZWZpbGUJVGh1IE1heSAg OSAwMDozMDoyMSAyMDAyDQpAQCAtMTQsNCArMTQsNiBAQA0KIExJTktTPQkk e0JJTkRJUn0vcmVib290ICR7QklORElSfS9oYWx0ICR7QklORElSfS9yZWJv b3QgJHtCSU5ESVJ9L2Zhc3Rib290IFwNCiAJJHtCSU5ESVJ9L3JlYm9vdCAk e0JJTkRJUn0vZmFzdGhhbHQNCiANCitTQ1JJUFRTPQluZXh0Ym9vdA0KKw0K IC5pbmNsdWRlIDxic2QucHJvZy5taz4NCi0tLSAvZGV2L251bGwJVGh1IE1h eSAgOSAwMDoyMjowMCAyMDAyDQorKysgc2Jpbi9yZWJvb3QvbmV4dGJvb3Qu c2gJVGh1IE1heSAgOSAwMDoxNTo0NyAyMDAyDQpAQCAtMCwwICsxLDU2IEBA DQorIyEgL2Jpbi9zaA0KKyMNCisjIENvcHlyaWdodCAyMDAyLiBHb3Jkb24g VGV0bG93LiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyMNCisjICRGcmVlQlNE JA0KKw0KK2RlbGV0ZT0iTk8iDQorZm9yY2U9Ik5PIg0KK25leHRib290X2Zp bGU9Ii9ib290L25leHRib290LmNvbmYiDQorDQorZGlzcGxheV91c2FnZSgp IHsNCisJZWNobyAiVXNhZ2U6IG5leHRib290IFstZl0gWy1vIG9wdGlvbnNd IC1rIGtlcm5lbCINCisJZWNobyAiICAgICAgIG5leHRib290IC1EIg0KK30N CisNCit3aGlsZSBnZXRvcHRzICJEZms6bzoiIGFyZ3VtZW50IDsgZG8NCisJ Y2FzZSAiJHthcmd1bWVudH0iIGluDQorCUQpDQorCQlkZWxldGU9IllFUyIN CisJCTs7DQorCWYpDQorCQlmb3JjZT0iWUVTIg0KKwkJOzsNCisJaykNCisJ CWtlcm5lbD0iJHtPUFRBUkd9Ig0KKwkJOzsNCisJbykNCisJCWtlcm5lbF9v cHRpb25zPSIke09QVEFSR30iDQorCQk7Ow0KKwkqKQ0KKwkJZGlzcGxheV91 c2FnZQ0KKwkJZXhpdCAxDQorCQk7Ow0KKwllc2FjDQorZG9uZQ0KKw0KK2lm IFsgJHtkZWxldGV9ID0gIllFUyIgXTsgdGhlbg0KKwlybSAtZiAke25leHRi b290X2ZpbGV9DQorCWV4aXQgMA0KK2ZpDQorDQoraWYgWyAieHh4JHtrZXJu ZWx9IiA9ICJ4eHgiIF07IHRoZW4NCisJZGlzcGxheV91c2FnZQ0KKwlleGl0 IDENCitmaQ0KKw0KK2lmIFsgJHtmb3JjZX0gPSAiTk8iIC1hICEgLWQgL2Jv b3QvJHtrZXJuZWx9IF07IHRoZW4NCisJZWNobyAiRXJyb3I6IC9ib290LyR7 a2VybmVsfSBkb2Vzbid0IGV4aXN0LiBVc2UgLWYgdG8gb3ZlcnJpZGUuIg0K KwlleGl0IDENCitmaQ0KKw0KK2NhdCA+ICR7bmV4dGJvb3RfZmlsZX0gPDwg RU9GDQorbmV4dGJvb3RfZW5hYmxlPSJZRVMiDQora2VybmVsPSIke2tlcm5l bH0iDQora2VybmVsX29wdGlvbnM9IiR7a2VybmVsX29wdGlvbnN9Ig0KK0VP Rg0KLS0tIHN5cy9ib290L2ZvcnRoL2xvYWRlci40dGgub3JpZwlTdW4gRGVj IDE2IDAwOjQ0OjQwIDIwMDENCisrKyBzeXMvYm9vdC9mb3J0aC9sb2FkZXIu NHRoCVdlZCBNYXkgIDggMjI6MDI6MzYgMjAwMg0KQEAgLTEzNCw2ICsxMzQs NyBAQA0KIDogc3RhcnQgICggLS0gKSAoIHRocm93czogYWJvcnQgJiB1c2Vy LWRlZmluZWQgKQ0KICAgcyIgL2Jvb3QvZGVmYXVsdHMvbG9hZGVyLmNvbmYi IGluaXRpYWxpemUNCiAgIGluY2x1ZGVfY29uZl9maWxlcw0KKyAgaW5jbHVk ZV9uZXh0Ym9vdF9maWxlDQogICBcIFdpbGwgKk5PVCogdHJ5IHRvIGxvYWQg a2VybmVsIGFuZCBtb2R1bGVzIGlmIG5vIGNvbmZpZ3VyYXRpb24gZmlsZQ0K ICAgXCB3YXMgc3VjY2VzZnVsbHkgbG9hZGVkIQ0KICAgYW55X2NvbmZfcmVh ZD8gaWYNCkBAIC0xNTEsNiArMTUyLDcgQEANCiA6IGluaXRpYWxpemUgKCAt LSBmbGFnICkNCiAgIHMiIC9ib290L2RlZmF1bHRzL2xvYWRlci5jb25mIiBp bml0aWFsaXplDQogICBpbmNsdWRlX2NvbmZfZmlsZXMNCisgIGluY2x1ZGVf bmV4dGJvb3RfZmlsZQ0KICAgYW55X2NvbmZfcmVhZD8NCiA7DQogDQotLS0g c3lzL2Jvb3QvZm9ydGgvbG9hZGVyLmNvbmYub3JpZwlUdWUgQXByIDMwIDIy OjQ0OjUyIDIwMDINCisrKyBzeXMvYm9vdC9mb3J0aC9sb2FkZXIuY29uZglX ZWQgTWF5ICA4IDIzOjExOjE2IDIwMDINCkBAIC0yMiw3ICsyMiw5IEBADQog dXNlcmNvbmZpZ19zY3JpcHRfbmFtZT0iL2Jvb3Qva2VybmVsLmNvbmYiDQog dXNlcmNvbmZpZ19zY3JpcHRfdHlwZT0idXNlcmNvbmZpZ19zY3JpcHQiDQog DQotbG9hZGVyX2NvbmZfZmlsZXM9Ii9ib290L2RldmljZS5oaW50cyAvYm9v dC9sb2FkZXIuY29uZiAvYm9vdC9sb2FkZXIuY29uZi5sb2NhbCAvYm9vdC9u ZXh0Ym9vdC5jb25mIg0KK2xvYWRlcl9jb25mX2ZpbGVzPSIvYm9vdC9kZXZp Y2UuaGludHMgL2Jvb3QvbG9hZGVyLmNvbmYgL2Jvb3QvbG9hZGVyLmNvbmYu bG9jYWwiDQorbmV4dGJvb3RfY29uZj0iL2Jvb3QvbmV4dGJvb3QuY29uZiIN CituZXh0Ym9vdF9lbmFibGU9Ik5PIg0KIA0KIHZlcmJvc2VfbG9hZGluZz0i Tk8iCQkjIFNldCB0byBZRVMgZm9yIHZlcmJvc2UgbG9hZGVyIG91dHB1dA0K IA0KLS0tIHN5cy9ib290L2ZvcnRoL3N1cHBvcnQuNHRoLm9yaWcJU3VuIERl YyAxNiAwMDo0NDo0MSAyMDAxDQorKysgc3lzL2Jvb3QvZm9ydGgvc3VwcG9y dC40dGgJV2VkIE1heSAgOCAyMzowNzo1NyAyMDAyDQpAQCAtMjA4LDEwICsy MDgsMTIgQEANCiBcIEdsb2JhbCB2YXJpYWJsZXMNCiANCiBzdHJpbmcgY29u Zl9maWxlcw0KK3N0cmluZyBuZXh0Ym9vdF9jb25mX2ZpbGUNCiBzdHJpbmcg cGFzc3dvcmQNCiBjcmVhdGUgbW9kdWxlX29wdGlvbnMgc2l6ZW9mIG1vZHVs ZS5uZXh0IGFsbG90IDAgbW9kdWxlX29wdGlvbnMgIQ0KIGNyZWF0ZSBsYXN0 X21vZHVsZV9vcHRpb24gc2l6ZW9mIG1vZHVsZS5uZXh0IGFsbG90IDAgbGFz dF9tb2R1bGVfb3B0aW9uICENCiAwIHZhbHVlIHZlcmJvc2U/DQorMCB2YWx1 ZSBuZXh0Ym9vdD8NCiANCiBcIFN1cHBvcnQgc3RyaW5nIGZ1bmN0aW9ucw0K IA0KQEAgLTY2MCw2ICs2NjIsMTQgQEANCiAgIHMiIGxvYWRlcl9jb25mX2Zp bGVzIiBhc3NpZ25tZW50X3R5cGU/DQogOw0KIA0KKzogbmV4dGJvb3RfZmxh Zz8NCisgIHMiIG5leHRib290X2VuYWJsZSIgYXNzaWdubWVudF90eXBlPw0K KzsNCisNCis6IG5leHRib290X2NvbmY/DQorICBzIiBuZXh0Ym9vdF9jb25m IiBhc3NpZ25tZW50X3R5cGU/DQorOw0KKw0KIDogdmVyYm9zZV9mbGFnPw0K ICAgcyIgdmVyYm9zZV9sb2FkaW5nIiBhc3NpZ25tZW50X3R5cGU/DQogOw0K QEAgLTcxMyw2ICs3MjMsMTkgQEANCiAgIGNvbmZfZmlsZXMgLmxlbiAhIGNv bmZfZmlsZXMgLmFkZHIgIQ0KIDsNCiANCis6IHNldF9uZXh0Ym9vdF9jb25m DQorICBuZXh0Ym9vdF9jb25mX2ZpbGUgLmFkZHIgQCA/ZHVwIGlmDQorICAg IGZyZWUtbWVtb3J5DQorICB0aGVuDQorICB2YWx1ZV9idWZmZXIgLmFkZHIg QCBjQCBbY2hhcl0gIiA9IGlmDQorICAgIHZhbHVlX2J1ZmZlciAuYWRkciBA IGNoYXIrIHZhbHVlX2J1ZmZlciAubGVuIEAgMiBjaGFycyAtDQorICBlbHNl DQorICAgIHZhbHVlX2J1ZmZlciAuYWRkciBAIHZhbHVlX2J1ZmZlciAubGVu IEANCisgIHRoZW4NCisgIHN0cmR1cA0KKyAgbmV4dGJvb3RfY29uZl9maWxl IC5sZW4gISBuZXh0Ym9vdF9jb25mX2ZpbGUgLmFkZHIgIQ0KKzsNCisNCiA6 IGFwcGVuZF90b19tb2R1bGVfb3B0aW9uc19saXN0ICAoIGFkZHIgLS0gKQ0K ICAgbW9kdWxlX29wdGlvbnMgQCAwPSBpZg0KICAgICBkdXAgbW9kdWxlX29w dGlvbnMgIQ0KQEAgLTg2Myw2ICs4ODYsMTAgQEANCiAgIHRoZW4NCiA7DQog DQorOiBzZXRfbmV4dGJvb3RfZmxhZw0KKyAgeWVzX3ZhbHVlPyB0byBuZXh0 Ym9vdD8NCis7DQorDQogOiBzZXRfdmVyYm9zZQ0KICAgeWVzX3ZhbHVlPyB0 byB2ZXJib3NlPw0KIDsNCkBAIC04OTAsNiArOTE3LDggQEANCiA6IHByb2Nl c3NfYXNzaWdubWVudA0KICAgbmFtZV9idWZmZXIgLmxlbiBAIDA9IGlmIGV4 aXQgdGhlbg0KICAgbG9hZGVyX2NvbmZfZmlsZXM/CWlmIHNldF9jb25mX2Zp bGVzIGV4aXQgdGhlbg0KKyAgbmV4dGJvb3RfZmxhZz8JaWYgc2V0X25leHRi b290X2ZsYWcgZXhpdCB0aGVuDQorICBuZXh0Ym9vdF9jb25mPwlpZiBzZXRf bmV4dGJvb3RfY29uZiBleGl0IHRoZW4NCiAgIHZlcmJvc2VfZmxhZz8JCWlm IHNldF92ZXJib3NlIGV4aXQgdGhlbg0KICAgZXhlY3V0ZT8JCWlmIGV4ZWN1 dGVfY29tbWFuZCBleGl0IHRoZW4NCiAgIHBhc3N3b3JkPwkJaWYgc2V0X3Bh c3N3b3JkIGV4aXQgdGhlbg0KQEAgLTkyMiw2ICs5NTEsMTAgQEANCiAgIDAg dmFsdWVfYnVmZmVyIC5sZW4gIQ0KIDsNCiANCis6IGdldF9uZXh0Ym9vdF9j b25mX2ZpbGUgKCAtLSBhZGRyIGxlbiApDQorICBuZXh0Ym9vdF9jb25mX2Zp bGUgLmFkZHIgQCBuZXh0Ym9vdF9jb25mX2ZpbGUgLmxlbiBAIHN0cmR1cA0K KzsNCisNCiBcIEhpZ2hlciBsZXZlbCBmaWxlIHByb2Nlc3NpbmcNCiANCiBz dXBwb3J0LWZ1bmN0aW9ucyBkZWZpbml0aW9ucw0KQEAgLTkzOSw2ICs5NzIs MjAgQEANCiAgIHJlcGVhdA0KIDsNCiANCis6IHBlZWtfbmV4dGJvb3RfZmls ZQ0KKyAgZ2V0X25leHRib290X2NvbmZfZmlsZQ0KKyAgMCB0byBlbmRfb2Zf ZmlsZT8NCisgIHJlc2V0X2xpbmVfcmVhZGluZw0KKyAgT19SRE9OTFkgZm9w ZW4gZmQgIQ0KKyAgZmQgQCAtMSA9IGlmIG9wZW5fZXJyb3IgdGhyb3cgdGhl bg0KKyAgcmVzZXRfYXNzaWdubWVudF9idWZmZXJzDQorICByZWFkX2xpbmUN CisgIGdldF9hc3NpZ25tZW50DQorICBbJ10gcHJvY2Vzc19hc3NpZ25tZW50 IGNhdGNoDQorICBbJ10gZnJlZV9idWZmZXJzIGNhdGNoDQorICBmZCBAIGZj bG9zZQ0KKzsNCisgIA0KIG9ubHkgZm9ydGggYWxzbyBzdXBwb3J0LWZ1bmN0 aW9ucyBkZWZpbml0aW9ucw0KIA0KIFwgSW50ZXJmYWNlIHRvIGxvYWRpbmcg Y29uZiBmaWxlcw0KQEAgLTEwOTksNiArMTE0NiwyOCBAQA0KICAgICBwcm9j ZXNzX2NvbmZfZXJyb3JzDQogICAgIHJlY3Vyc2Vfb25fY29uZl9maWxlcz8g aWYgcmVjdXJzZSB0aGVuDQogICByZXBlYXQNCis7DQorDQorOiBnZXRfbmV4 dGJvb3RfY29uZl9maWxlICggLS0gYWRkciBsZW4gKQ0KKyAgbmV4dGJvb3Rf Y29uZl9maWxlIC5hZGRyIEAgbmV4dGJvb3RfY29uZl9maWxlIC5sZW4gQCBz dHJkdXANCis7DQorDQorOiByZXdyaXRlX25leHRib290X2ZpbGUgKCAtLSAp DQorICBnZXRfbmV4dGJvb3RfY29uZl9maWxlDQorICBPX1dST05MWSBmb3Bl biBmZCAhDQorICBmZCBAIC0xID0gaWYgb3Blbl9lcnJvciB0aHJvdyB0aGVu DQorICBmZCBAIHMnIG5leHRib290X2VuYWJsZT0iTk8iICcgZndyaXRlDQor ICBmZCBAIGZjbG9zZQ0KKzsNCisNCis6IGluY2x1ZGVfbmV4dGJvb3RfZmls ZQ0KKyAgWyddIHBlZWtfbmV4dGJvb3RfZmlsZSBjYXRjaA0KKyAgbmV4dGJv b3Q/IGlmDQorICAgIGdldF9uZXh0Ym9vdF9jb25mX2ZpbGUNCisgICAgWydd IGxvYWRfY29uZiBjYXRjaA0KKyAgICBwcm9jZXNzX2NvbmZfZXJyb3JzDQor ICAgIFsnXSByZXdyaXRlX25leHRib290X2ZpbGUgY2F0Y2gNCisgIHRoZW4N CiA7DQogDQogXCBNb2R1bGUgbG9hZGluZyBmdW5jdGlvbnMNCg== --430705419-43853349-1020930086=:558-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message