Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 May 2002 00:51:36 -0700 (PDT)
From:      Gordon Tetlow <gordont@gnf.org>
To:        hackers@freebsd.org
Subject:   nextboot loader diff
Message-ID:  <Pine.LNX.4.44.0205090040130.558-200000@smtp.gnf.org>

next in thread | raw e-mail | index | archive | help
  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: <Pine.LNX.4.44.0205090041291.558@smtp.gnf.org>

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: <Pine.LNX.4.44.0205090041260.558@smtp.gnf.org>
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0205090040130.558-200000>