Hi Shidokht,
Shidokht Yadegari wrote: > > Hi, > > On 05/28/09 00:29, Jan Damborsky wrote: >> Hi Shidokht, >> >> >> Shidokht Yadegari wrote: >>> On 05/27/09 10:36, Jan Damborsky wrote: >>>> Hi Pallavi, >>>> >>>> could you please add release notes for bugs 9026 >>>> and 6843138 to OpenSolaris 2009.06 release notes ? >>>> >>>> Shidokht, could you please take a look to verify if >>>> the information captured below is correct and provide >>>> workaround for 6843138 if one exists ? >>>> >>> ... >>>> >>>> ================================================================================== >>>> >>>> >>>> bugid: 6843138 >>>> synopsis: can not boot off a 2.2TB and zfs root >>>> >>>> Platforms affected: >>>> x86 >>>> >>>> Description: >>>> Due to the limitation in current implementation of GRUB which >>>> OpenSolaris uses as boot >>>> loader on x86 platform, OpenSolaris operating system can't be >>>> booted from disk which >>>> capacity exceeds 2^32 sectors or 2TB (assuming that sector size is >>>> 512 bytes). >>> Hi, >>> >>> Since the problem depends on whether the needed data for booting >>> falls in the region >>> defined by the lower 32bits of capacity, I'd suggest rewording >>> "can't be booted" >>> to "may not be booted" >> >> ok. >> >>> >>> >>> I don't have a great workaround here. For a warm reboot, if we do a >>> modunload -i 0 >>> and then do reboot, fastreboot would have a chance in rebooting the >>> system bypassing >>> grub if all loaded drivers support quiesce. >> >> If my understanding of the problem is correct, if we make sure that >> slice >> which root pool resides in doesn't exceed 2TB boundary, GRUB will be >> always able to locate all necessary pieces even on >2TB disk ? >> > Not really. GRUB will try to make sure the requested I/O to the disk is > not going beyond total sectors of the disk. To calculate total sectors, > it issues an int 13 fn 48 to BIOS to get the capacity. > There are two problems here. One is uses ulong for total_sectors and > only takes the lower 32bit of the value reported from BIOS. For example > if the capacity reported is 0x100f00000, it sets total sectors to > 0xf00000. > If root is within this first 0xf00000 then we are ok and can boot. I see - I got it now. Thanks for clarification ! > > The second problem is that even if we fix it BIOSes do not always report > the correct capacity at least for >2TB that I have seen. I am removing > the check > against total sectors for I/O in grub. > > >> Thinking about this more, I am a little bit confused. I was assuming >> that it is not possible to utilize space after 2TB, as fdisk >> partition table also uses 32 bits for defining sector partition >> geometry, >> so it would be always assured that all necessary data are stored >> within first 2TB ? >> > Yes, we only utilize at most the first 2TB currently for boot disk. > But the check in grub is against capacity. > > Please let me know if I can clarify further. I can understand the problem now, but I am still thinking about the suggested workaround. You mention way how to assure system can be brought up after reboot - is there anything we could do once the system is powered off ? Thank you very much, Jan
