On 21.03.17 10:56, Carsten Grzemba  <[email protected]> wrote: 
> 
> 
> 
> On 27.02.17 08:42, Alexander Pyhalov <[email protected]> wrote: 
> > 
> > Hello, guys.
> > 
> > Please take the notice that fixes on illumos loader did reveal additional 
> > issues, resulted in inability to boot after updating Openindiana Hipster on 
> > MBR disk installs.
> > Problem with booting is solved updating to OI hipster osnet-incorporation 
> > 0.5.11-2017.0.0.16205 (2017-02-25_1202) with system/boot/loader 
> > 1.1-2017.0.0.16205 (2017-02-25_1228) and onwards and reinstalling boot 
> > blocks.
> > 
> > Here are some additional technical information and explanations of what 
> > additional issues were:
> > - The boot programs written into disk boot block areas are read into memory 
> > based on recorded boot program sizes, since the MBR boot record is not 
> > updated by "pkg update" in case of MBR setups, the boot process will not 
> > read the gptzfsboot fully into the memory. This is problem with installboot 
> > command.
> > - The loader partition reading code was built using optimized data sharing, 
> > assuming only one partition is "open" at the time. Unfortunately in case of 
> > ZFS this assumption is not true and as an result, the disk read validation 
> > checks did invalidate the IO requests.
> > 
> > Both issues are now identified, proper updates are available and the 
> > package updates are available in Openindiana Hipster package repository. 
> > Instructions below are provided, to perform the update, while avoiding the 
> > issues.
> > 
> > The second issue is about the implementation specific details inside the 
> > loader and updated binaries which implement the fix, once updated binaries 
> > are installed, so no other special activities are needed.
> > 
> > The installboot problem is more complicated. The installboot command update 
> > implements MBR update, to make MBR boot code able to read and load the 
> > partition boot record, and only record gptzfsboot location and size in 
> > partition boot record.
> > As "pkg update" will always cause partition boot record to be updated, this 
> > change means that gptzfsboot will always be read using correct size. The 
> > complication is about the fact that we can not enforce MBR update 
> > automatically, and the MBR update has to be performed by the operator. The 
> > secondary complication is about the fact that patched installboot command 
> > is available only in updated BE, meaning that bootblock update has to be 
> > performed twice.
> > 
> > Who is affected:
> > Fresh installs with 20161030 OI hipster snapshot usb/ISO using MBR 
> > partition/slice install, using illumos loader
> > Who is not affected:
> > Older 20160421 usb/ISO and earlier installs still using GRUB1
> > Full-disk installs and GPT installs for rpool.
> > 
> > How problem appears:
> > Problem appears by issuing regular 'pkg update ' procedure, with affect of 
> > having unbootable system after update and restart.
> > 
> > Workaround1 is done right after update, before reboot, so you don't 
> > experience any inability of boot after update, so that nothing happens if 
> > you reinstall loader upon update and BEFORE restart.
> > Workaround2 is there if you already restarted after update and you have 
> > unbootable system.
> > 
> > Workaround1:
> > Bootblock update has to be performed twice, after regular pkg update and 
> > before reboot and after reboot again.
> > 
> > -find the name of your new active updated BE:
> > $ beadm list
> > --
> > oi-hipster-87 R / 36.8G static 2017-02-25 19:07
> > 
> > -mount new BE into /mnt dir, so we can install new loader into MBR: (assume 
> > root privileges by su, sudo or pfexec)
> > $ pfexec bash
> > # beadm mount oi-hipster-87 /mnt
> > 
> > 
> > -Install new illumos loader from new BE into MBR to be able to boot from HD 
> > again:
> > # bootadm install-bootloader -MfvR /mnt
> > 
> > 
> It is the intented behaviour here that grub stuff is installed here? :
> 
> # beadm mount hipster-2017.16257 /a
> Mounted successfully on: '/a'
> 
> # bootadm install-bootloader -MfvR /a
> be_do_installboot: device mirror-0
> be_do_installboot: device c4t0d0s0
>  Command: "/sbin/installgrub -F -m -f //boot/grub/stage1 //boot/grub/stage2 
> /dev/rdsk/c4t0d0s0"
>  Output:
> stage2 written to partition 0, 281 sectors starting at 50 (abs 32180)
> stage1 written to partition 0 sector 0 (abs 32130)
> stage1 written to master boot sector
> be_do_installboot: device c4t1d0s0
>  Command: "/sbin/installgrub -F -m -f //boot/grub/stage1 //boot/grub/stage2 
> /dev/rdsk/c4t1d0s0"
>  Output:
> stage2 written to partition 0, 281 sectors starting at 50 (abs 32180)
> stage1 written to partition 0 sector 0 (abs 32130)
> stage1 written to master boot sector
> 
Grub install was correct because I had a config in /etc/default/be with:
BE_HAS_GRUB=true
_______________________________________________
openindiana-discuss mailing list
[email protected]
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to