> On 27. Jul 2024, at 04:20, Bryce <[email protected]> wrote:
> 
> Toomas, I may be misunderstanding, but I believe pmbr.s is stage 0 pointing 
> to stage 1, as determined by the linker. but what about stage 1 to stage 2? 
> where is the stage 1 code?

usr/src/boot/i386/gptzfsboot/zfsboot.c

rgds,
toomas

> 
> thanks
> 
> On Fri, Jul 26, 2024, 6:39 PM Toomas Soome via illumos-discuss 
> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> 
>>> On 27. Jul 2024, at 01:20, Bryce <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Toomas, you mentioned that you can "script" booting from the unformatted 
>>> disk... could you elaborate on this?
>> 
>> since loader is using forth as command interpreter and we have forth words 
>> to open, close, read from files, so we can do something like open “disk0p1:” 
>> and then read data from it.
>> 
>> 
>>> 
>>> Im aware of the sector zero (mbr or vbr) limitations, so i underatand that 
>>> stage 1 must be loaded using bios int 13h. But what about stage 1 loading 
>>> stage 2? could you point me to the relevant loop in stage 1 that deals with 
>>> passing control to stage 2? specifically, how stage 1 finds stage 2 on disk?
>>> 
>> 
>> we are just recording starting lba and size in sectors in pmbr binary and it 
>> is reading those blocks into memory and jumps there. See 
>> usr/src/boot/i386/pmbr/pmbr.s. The values are set by installboot program. To 
>> avoid browsing partition tables to guess where our rootfs might be, 
>> installboot also does record the lba of rootfs partition in next stage.
>> 
>> rgds,
>> toomas
>> 
>> 
>>> Thanks
>>> 
>>> On Fri, Jul 26, 2024, 4:39 PM Toomas Soome via illumos-discuss 
>>> <[email protected] <mailto:[email protected]>> wrote:
>>>> 
>>>> 
>>>> > On 26. Jul 2024, at 22:16, Joshua M. Clulow via illumos-discuss 
>>>> > <[email protected] <mailto:[email protected]>> wrote:
>>>> > 
>>>> > 
>>>> > We actually don't use our legacy GRUB anymore.  It hasn't been deleted
>>>> > from the source tree, but it will eventually be when someone finds
>>>> > time to do that gracefully.  Our current boot loader is in the tree
>>>> > under "usr/src/boot", and is one we imported from FreeBSD.  I don't
>>>> > believe that loader can read directly from a disk slice, but it does
>>>> > have support for several file systems including pcfs (aka FAT), hsfs
>>>> > (aka ISO), UFS, ZFS, etc.
>>>> > 
>>>> 
>>>> reading from “raw” disk is nothing impossible - we can actually even 
>>>> script it, but it is another question, why….  With BIOS setup, we actually 
>>>> read stage1 (gptzfsboot) from either boot slice or from zfs label boot 
>>>> block area, and the reason is, stage0 is small an can not have file system 
>>>> driver built in (we can use 446 bytes max;). The cost of it is that you 
>>>> have to have infrastructure to install and maintain your program in raw 
>>>> disk space…
>>>> 
>>>> rgds,
>>>> toomas
>>>> 
> 
> illumos <https://illumos.topicbox.com/latest> / illumos-discuss / see 
> discussions <https://illumos.topicbox.com/groups/discuss> + participants 
> <https://illumos.topicbox.com/groups/discuss/members> + delivery options 
> <https://illumos.topicbox.com/groups/discuss/subscription>Permalink 
> <https://illumos.topicbox.com/groups/discuss/Tc9bfa679c7294ee7-Mc217b4a13817c5c0be2ce90f>

------------------------------------------
illumos: illumos-discuss
Permalink: 
https://illumos.topicbox.com/groups/discuss/Tc9bfa679c7294ee7-M9d3432ca98a679d5dfb5419d
Delivery options: https://illumos.topicbox.com/groups/discuss/subscription

Reply via email to