Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#2232 closed bug (fixed)

Installer stops

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

Description

hrev28481 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 (1)

diskfull.patch (2.5 KB ) - added by korli 16 years ago.
patch from Christian Fasshauer

Download all attachments as: .zip

Change History (19)

comment:1 by korli, 16 years ago

Component: - GeneralApplications/Installer
Owner: changed from axeld to korli

in reply to:  1 comment:2 by bbjimmy, 16 years ago

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.

by korli, 16 years ago

Attachment: diskfull.patch added

patch from Christian Fasshauer

comment:3 by korli, 16 years ago

Resolution: fixed
Status: newclosed

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

comment:4 by bbjimmy, 16 years ago

Resolution: fixed
Status: closedreopened

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.

comment:5 by korli, 16 years ago

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

comment:6 by axeld, 16 years ago

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?

comment:7 by bonefish, 16 years ago

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

comment:8 by axeld, 16 years ago

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.

comment:9 by korli, 16 years ago

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

comment:10 by axeld, 16 years ago

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 comment:11 by bbjimmy, 16 years ago

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.

comment:12 by korli, 16 years ago

Could it be fixed in hrev27014 ?

comment:13 by bbjimmy, 16 years ago

Not only is it not fixed, after running the installer one is left with an unbootable partition. Now running makebootable from the command line no has the same result. I can no longer install haiku and make the new partition boot.

comment:14 by bbjimmy, 16 years ago

I ran "makebootable /dev/disk/ata/0/raw" instead of "makebootable /TEST" and I could then boot the new partition ... haiku hrev27015

comment:15 by korli, 16 years ago

Could you check again with hrev27042 please ? The I/O kernel backend could be at fault, at least I don't see why it wouldn't work as expected now.

comment:16 by bbjimmy, 16 years ago

I tried again with hrev27057. The issue is the same. This time I ran the installer from a terminal and it said it was installing the boot code to /dev/disk/ata/0/slave/raw but it would not boot. Running makebootable /TEST stated that it was also installing the boot code to /dev/disk/ata/0/slave/raw but left the partition unbootable. Running makebootable /dev/disk/ata/0/slave/raw worked.

comment:17 by stippi, 16 years ago

Resolution: fixed
Status: reopenedclosed

Should be fixed now. makebootable can now install the boot code into mounted partitions.

in reply to:  17 comment:18 by bbjimmy, 16 years ago

Replying to stippi:

Should be fixed now. makebootable can now install the boot code into mounted partitions.

It Works!

Note: See TracTickets for help on using tickets.