Ticket #2232 (reopened bug)

Opened 3 months ago

Last modified 2 months ago

Installer stops

Reported by: bbjimmy Owned by: korli
Priority: normal Milestone: R1
Component: Applications/Installer Version: R1 development
Cc: Blocked By:
Platform: All Blocking:

Description

r28481 running the installer in QEMU ( installing from the haiku image file to another image file )the installer copies all the files then stops running while displaying : "Finishing Installation." . one has to run makebootable to make the installation work after killing the installer.

Attachments

diskfull.patch (2.5 kB) - added by korli 3 months ago.
patch from Christian Fasshauer

Change History

follow-up: ↓ 2   Changed 3 months ago by korli

  • owner changed from axeld to korli
  • component changed from - General to Applications/Installer

in reply to: ↑ 1   Changed 3 months ago by bbjimmy

For an experiment, I added a line at the beginning of the InstallerFinishScropt file:

#!/bin/sh ## The installer finish script. alert "InstallerFinishScript is running" OK

the alert poped up, but the installer did not finish and the target partition was not bootable.

Changed 3 months ago by korli

patch from Christian Fasshauer

  Changed 2 months ago by korli

  • status changed from new to closed
  • resolution set to fixed

I didn't apply the patch as is, and followed other ways for fixing error handling. Hopefully fixed in r25772. Feel free to reopen if not OK.

  Changed 2 months ago by bbjimmy

  • status changed from closed to reopened
  • resolution deleted

SUCCESS --- sort of

The installer now completes the installation, but one still needs to run makebootable from a terminal to have the target partition boot.

follow-up: ↓ 11   Changed 2 months ago by korli

Indeed, even if makebootable runs OK after the installation. Maybe the cache or sync to disk isn't working right.

  Changed 2 months ago by axeld

When you write to a device directly (like makebootable), it does not use the cache but writes through to the drive directly. Also, if makebootable works for itself, it should also work as part of Installer. Are you sure it is called with the correct arguments?

  Changed 2 months ago by bonefish

Unless I've missed commits to change the situation, makebootable only works on an unmounted partition. Otherwise BFS will overwrite the boot code.

  Changed 2 months ago by axeld

I just had a look because I was assuming the same problem, but BFS only writes the part of the second block that actually contains the super block, not the surrounding area (ie. it does a partial write). So if that actually happens, block_io would not deal with this case correctly, I don't think this is very probable though.

  Changed 2 months ago by korli

Checked again: makebootable is called with the mount point of the installed partition. makebootable only works after a fresh reboot (mounted or not).

  Changed 2 months ago by axeld

This contradicts the original description of this bug report, though. Does it work when not using the mount point but the device instead? Also, does adding debug output in makebootable eventually helps?

in reply to: ↑ 5   Changed 2 months ago by bbjimmy

For what it's worth, I did some experimenting. My target partition was named TEST. I added "makebootable /TEST" to the end of the InstallerFinishScript. This did n ot make the partitopn boot. I ran the installer from the command line, and makebootable reported tht it was writing the boot code as one would expect. I re-ran the installer with the original InstallerFinishScript and then ran makebootable /TEST from the command line before rebooting. the partition then booted so it has something to do with running makebootable from the InstallerFinishScript, not with the need to reboot after running the installer.

Note: See TracTickets for help on using tickets.