#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)
Change History (19)
follow-up: 2 comment:1 by , 17 years ago
Component: | - General → Applications/Installer |
---|---|
Owner: | changed from | to
comment:2 by , 17 years ago
comment:3 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
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 , 16 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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 comment:5 by , 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 , 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 , 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 , 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 , 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 , 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?
comment:11 by , 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:13 by , 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 , 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 , 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 , 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.
follow-up: 18 comment:17 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Should be fixed now. makebootable can now install the boot code into mounted partitions.
comment:18 by , 16 years ago
Replying to stippi:
Should be fixed now. makebootable can now install the boot code into mounted partitions.
It Works!
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.