Idea for change to boot0
Andrew Boyer
aboyer at averesystems.com
Fri Dec 16 01:16:24 UTC 2011
On Dec 15, 2011, at 6:40 PM, Craig Rodrigues wrote:
> Hi,
>
> This is interesting. I wrote some newer documentation for PXE booting
> here:
> http://www.freebsd.org/doc/handbook/network-pxe-nfs.html
>
> In 32.8.4, bullet item 1, I mentioned that it is necessary to
> configure network booting in the BIOS menu.
>
> With your change, is entering the BIOS menu to configure network booting
> still necessary?
>
> --
> Craig Rodrigues
> rodrigc at juniper.net
>
Nope. You can just do:
# boot0cfg -s 6 <bootdisk>
# reboot
It saves you from waiting around until the BIOS screen comes up, hitting the wrong button, etc. etc. On systems with a lot of memory the BIOS start times are getting ridiculous.
-Andrew
> On Thu, Dec 15, 2011 at 1:21 PM, Andrew Boyer <aboyer at averesystems.com> wrote:
>> These two changes allow you to set PXE as the default MBR boot selection, which enables you to write a 'reboot to the network' script. We've found it to be very useful. What do people think?
>>
>> Thanks,
>> Andrew
>>
>>> Index: usr.sbin/boot0cfg/boot0cfg.c
>>> ===================================================================
>>> --- usr.sbin/boot0cfg/boot0cfg.c (revision 228359)
>>> +++ usr.sbin/boot0cfg/boot0cfg.c (working copy)
>>> @@ -169,7 +169,7 @@
>>> o_flag = 1;
>>> break;
>>> case 's':
>>> - s_arg = argtoi(optarg, 1, 5, 's');
>>> + s_arg = argtoi(optarg, 1, 6, 's');
>>> break;
>>> case 't':
>>> t_arg = argtoi(optarg, 1, 0xffff, 't');
>>> @@ -472,6 +472,8 @@
>>> printf("default_selection=F%d (", mbr[OFF_OPT] + 1);
>>> if (mbr[OFF_OPT] < 4)
>>> printf("Slice %d", mbr[OFF_OPT] + 1);
>>> + else if (mbr[OFF_OPT] == 5)
>>> + print("PXE");
>>> else
>>> printf("Drive 1");
>>> printf(")\n");
>>> Index: sys/boot/i386/boot0/boot0.S
>>> ===================================================================
>>> --- sys/boot/i386/boot0/boot0.S (revision 228359)
>>> +++ sys/boot/i386/boot0/boot0.S (working copy)
>>> @@ -413,6 +413,7 @@
>>> 3:
>>> #endif /* ONLY_F_KEYS */
>>> #endif /* SIO */
>>> +check_selection:
>>> cmpb $0x5,%al # F1..F6 or 1..6 ?
>>> #ifdef PXE /* enable PXE/INT18 using F6 */
>>> jne 1f;
>>> @@ -421,7 +422,6 @@
>>> #endif /* PXE */
>>> jae beep # Not in F1..F5, beep
>>>
>>> -check_selection:
>>> /*
>>> * We have a selection. If it's a bad selection go back to complain.
>>> * The bits in MNUOPT were set when the options were printed.
>>
>> --------------------------------------------------
>> Andrew Boyer aboyer at averesystems.com
>>
>>
>>
>>
>> _______________________________________________
>> freebsd-current at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>
>
>
> --
> Craig Rodrigues
> rodrigc at crodrigues.org
--------------------------------------------------
Andrew Boyer aboyer at averesystems.com
More information about the freebsd-current
mailing list