Opened 4 years ago
Last modified 21 months ago
#16217 new enhancement
Installer: Add Install Modes
Reported by: | bitigchi | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Applications/Installer | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | #3822 | Blocking: | #16496, #17107 |
Platform: | All |
Description
Some ideas about improving the installer experience
Installer should do a brief system scan upon launch to get information about the system, then a window with three main options should be presented:
- Wipe system and install (asks about drives if there are more than one present -- no additional prompt. If there are more than one drives/partitions but only one operating system, it should select the partition with an existing OS install)
- Upgrade existing install to $OS_VERSION (finds the Haiku partition and overwrites the system files - "Overwrite system files" if installed version is the same)
- Install alongside other OS (should fix efi/boot menu and grub booting if present)
Below these options, there should be a checkbox present to install updates automatically. I guess in this case it's going to halt the file copy for the upgradeable packages and download them instead. This option should be greyed out if there is no internet connection present.
After selecting one of these options, these should happen:
- A progress bar with no additional prompt, install should complete and return success.
- Same as 1
- This is rather complicated to design and implement, but for the moment current installer screen can be presented, but still should fix boot menu (EFI/BIOS integration) and/or GRUB booting automatically.
A basic mockup is attached both as image and LibreOffice Draw file, so that if you have any ideas or improvements, you can use this as template (and attack back).
Related tickets are added to "Blocked By:".
Attachments (2)
Change History (19)
by , 4 years ago
Attachment: | installer_bitigchi.odg added |
---|
follow-ups: 2 3 comment:1 by , 4 years ago
What's wrong with the current design?
Option 1 and 2 seems to be basically the same, but I see no reason to keep partitioning of other systems unless explicitly asked to keep a certain partition (OpenBSD will make many smaller partitions to avoid paths beeing written to fillign the entire disk and deadlocking the system; Windows uses a 100MB rescue parition before the main OS parititon; Linux generally uses SWAP partitions and a system partition with an additional data parittion, basically none of those cases match our partitioning)
still should fix boot menu (EFI/BIOS integration) and/or GRUB booting automatically.
EFI booting is not that complex to properly do (In the sense of making it properly interop with compliant implementations to facilitate multiboot), BIOS boot integration with different OSES is basically impossible to do reliably, and likewise for grub2/mbr (It gets updated as a whole package by linux distros on /every/ update, so unless you convince linux distros to generate entries for Haiku you are pretty much out of luck)
comment:2 by , 4 years ago
Replying to nephele:
Option 1 and 2 seems to be basically the same
First option wipes everything clean (including other OSs and partition tables etc.), second option upgrades or overwrites existing Haiku install.
comment:3 by , 4 years ago
Replying to nephele:
BIOS boot integration with different OSES is basically impossible to do reliably
Running multiple OS on same disk can be easily done if PBR (partition boot record) and BootMan is used. Windows, Linux (need options when installing) and Haiku support this.
comment:4 by , 4 years ago
I am not saying it's impossible, I am saying it's not reliable, linux distros tend to overwrite the mbr at times, and so do rescue tools of other systems, it isn't a fire and forget like efi multiboot.
comment:5 by , 4 years ago
comment:6 by , 4 years ago
Blocking: | 16496 added |
---|
comment:7 by , 4 years ago
I don't think we should use Installer to upgrade an existing system (option 2). Rather this should be done from the running system, either using SoftwareUpdater or some tool provided on the install DVD but run from the existing system. Maybe Installer can provide some info about how to do it.
In option 1 we can start with "wipe whole drive" option. Unfortunately with EFI we are not just going to create a single partition on the drive. LAter on we can see about smarter options: replacing just one partition, or even resizing the existing OS partition to make some space for ourselves.
Option 3 would indeed be very nice but possibly more complicated to get working. I would focus on 1 first.
comment:8 by , 4 years ago
Blocked By: | 16092, 16133 removed |
---|
Removing some unrelated blocking tickets. There is already the "component" field if you want to find related tickets about Installer.
comment:9 by , 4 years ago
Blocked By: | 15989 removed |
---|
comment:10 by , 4 years ago
Option 2 can still be done by the package manager within the Installer. At least a user would expect an installer to perform such a task, like all the other operating systems.
comment:11 by , 4 years ago
No, it can't easily be done this way. The package manager is not designed to oerate on a system that's not being booted.
And, "all other operating systems" is not true either. This is typically not the case for Linux distros, and even for Windows the process does not go this way: you will usually download an updater that will guide you through the update (it may ask you to insert an USB disk, make that bootable, and then reboot on it to perform the update in some cases). No one ships CDs for updates anymore.
Here is for Windows: https://www.howtogeek.com/509087/how-to-upgrade-from-windows-7-to-windows-10-for-free/
Here is for Mac OS: https://support.apple.com/en-us/HT201475
Here is for Ubuntu: https://ubuntu.com/tutorials/upgrading-ubuntu-desktop#1-before-you-start
comment:12 by , 4 years ago
What I mean is, in any case if you overwrite an install, it will fix it in other operating systems.
Updating from the internet is fine, but in that case there are two use cases not covered:
- Fixing an unbootable system (in case there are no previous states to return to, correct me if there is a way to fix this)
- No internet connection (a tool should be provided to upgrade offline)
comment:13 by , 4 years ago
I didn't say the upgrade has to be online necessarily. I just sait it has to be run from the running system (you insert the CD, and tell your computer to get the packages from there, without rebooting).
Fixing an unbootable system is a valid use case for the Installer, but it is not a normal update path. Because we don't know what needs to be fixed, it has to be more destructive: remove "suspicious" things in non-packaged (all drivers, all copies of system libs, probably other add-ons), reset most system settings to their default values, etc. That is different from a system update. And should rarely be needed because there are previous states to return to, making it a lower priority work.
comment:14 by , 3 years ago
Blocking: | 17107 added |
---|
comment:15 by , 21 months ago
Replying to bitigchi:
Some ideas about improving the installer experience
Installer should do a brief system scan upon launch to get information about the system, then a window with three main options should be presented:
- Wipe system and install (asks about drives if there are more than one present -- no additional prompt. If there are more than one drives/partitions but only one operating system, it should select the partition with an existing OS install)
- Upgrade existing install to $OS_VERSION (finds the Haiku partition and overwrites the system files - "Overwrite system files" if installed version is the same)
- Install alongside other OS (should fix efi/boot menu and grub booting if present)
Below these options, there should be a checkbox present to install updates automatically. I guess in this case it's going to halt the file copy for the upgradeable packages and download them instead. This option should be greyed out if there is no internet connection present.
After selecting one of these options, these should happen:
- A progress bar with no additional prompt, install should complete and return success.
- Same as 1
- This is rather complicated to design and implement, but for the moment current installer screen can be presented, but still should fix boot menu (EFI/BIOS integration) and/or GRUB booting automatically.
A basic mockup is attached both as image and LibreOffice Draw file, so that if you have any ideas or improvements, you can use this as template (and attack back).
Related tickets are added to "Blocked By:".
On laptops on which you can install Haiku by formatting the whole disk without a partition table, the installer is fantastic and easy. I have done this on an old Toshiba. Amazingly fast. i simply couldn't believe my eyes when i managed to install haiku in just a few minutes.
But on machines where the "please choose target" window is not active, it is impossible for non tech-savvy users to install Haiku. That's why I wasn't able 'to install Haiku on a younger Thinkpad. If you want to make the installation user-friendly, 14 steps in the installation procedure is plain wrong. It should be made much simpler. step 1 do you want to erase the whole disk and install Haiku'? (be careful everything will be erased and BeOS format will be done) step 2 if yes, the installation should begin immediately.
comment:16 by , 21 months ago
But on machines where the "please choose target" window is not active, it is impossible for non tech-savvy users to install Haiku.
This is *every* machine you have not already installed haiku to, or have used some other tool to preconfigure the partitions.
Also your 14 steps you complain about is literally a guide for the entire installation process, it can't be done much simpler.
except for allowing a disk to be chosen and doing the formatting for you. A ticket already exists for this.
comment:17 by , 21 months ago
Yes. This is the ticket. There was no need for the extra comments here, just an upvote if you think it is important.
installer_bitigchi