Jump to content

DUETi - Installer for DUET UEFI on BIOS Bootloader


SugoiDogo
 Share

15 posts in this topic

Recommended Posts

I’ve put together a small python script to make it easier to install DUET. If you don’t already know what that is, DUET is a BIOS bootloader that implements a UEFI interface. DUETi doesn’t actually include DUET, you'll find it packaged with Clover and OpenCore for legacy systems. DUETi works on all modern desktop operating systems, and operates on whatever you point it at, whether that be a system drive, raw disk image, or loop device. There are no safety checks in place, so if you don’t know anything about partition tables, wait for the GUI release. The script and technical details are at https://github.com/sugoidogo/DUETi

Link to comment
Share on other sites

56 minutes ago, Slice said:

We already know all about DUET since 2011. But may be you know something new about it. Tell us!

Not sure what you're asking here. My post is about some new software I've written, not anything new about DUET itself. Just makes it easier to get DUET installed, especially for edge cases.

  • Like 1
Link to comment
Share on other sites

2 hours ago, SugoiDogo said:

I’ve put together a small python script to make it easier to install DUET. If you don’t already know what that is, DUET is a BIOS bootloader that implements a UEFI interface. DUETi doesn’t actually include DUET, you'll find it packaged with Clover and OpenCore for legacy systems. DUETi works on all modern desktop operating systems, and operates on whatever you point it at, whether that be a system drive, raw disk image, or loop device. There are no safety checks in place, so if you don’t know anything about partition tables, wait for the GUI release. The script and technical details are at https://github.com/sugoidogo/DUETi

 

Good effort but it's not really a DUET installer.

It just installs the first stage loader and the user has to manually find & copy Duet file onto the EFI and your script relies on the user supplying ALL the required files.

 

Take a look at the FULL Duet installer in OpenCore's LegayBoot utility folder which is called BootInstallBase.sh.

It does not need arguments and it prompts you to choose which drive to install it on.

If you wish create a GUI version, use BootInstallBase.sh as your base.

Other than that, you may be re-inventing the wheel.

  • Like 1
Link to comment
Share on other sites

17 minutes ago, MacNB said:

 

Good effort but it's not really a DUET installer.

It just installs the first stage loader and the user has to manually find & copy Duet file onto the EFI and your script relies on the user supplying ALL the required files.

 

Take a look at the FULL Duet installer in OpenCore's LegayBoot utility folder which is called BootInstallBase.sh.

It does not need arguments and it prompts you to choose which drive to install it on.

If you wish create a GUI version, use BootInstallBase.sh as your base.

Other than that, you may be re-inventing the wheel.

There's several reasons my script is an improvement over bootinstallbase.sh, but the big one is cross-platform. That script uses functions specific to osx fdisk, so like any other DUET installer I could find, only works on the one platform. For the users of this forum maybe a non-issue, but for my own purposes I needed to be able to install duet from multiple different operating systems and onto virtual, physical, and removable disks.

I'm in the middle of a move at the moment, so I decided to release it as-is and make it feature-complete later. There's several places around the web you'll find duet with os-specific install instructions or tools, including the opencore install guide, which claims it can only be installed from windows with bootice.

Link to comment
Share on other sites

12 minutes ago, Slice said:

sorry, I'm still not sure what you're getting at. I have seen that page, and I'm aware the clover installer can also install DUET, if you're already inside OSX. I made DUETi to be as generic a tool as possible, you can use it for any version of DUET, on any operating system, and install to any device. The existing tools didn't fit my needs so I made a new one, and I'm sharing it here for those who might have need of it.

Link to comment
Share on other sites

24 minutes ago, SugoiDogo said:

There's several reasons my script is an improvement over bootinstallbase.sh, but the big one is cross-platform.

 

Good goal to have cross-platform installer.

I would just make sure it does NOT rely on users having to hunt for or pulldown files from REFIND, or OpenCore, etc to truly install Duet.

I.e. the GUI should just allow the User select the drive onto which to install Duet. Then your tool needs to source the required files from appropriate repositories or bundle them within the tool.

Once tested and working, suggest it to OpenCore developers to add it to the  LegacyBoot Utility folder as an additional tool.

Link to comment
Share on other sites

5 minutes ago, MacNB said:

 

Good goal to have cross-platform installer.

I would just make sure it does NOT rely on users having to hunt for or pulldown files from REFIND, or OpenCore, etc to truly install Duet.

I.e. the GUI should just allow the User select the drive onto which to install Duet. Then your tool needs to source the required files from appropriate repositories or bundle them within the tool.

Once tested and working, suggest it to OpenCore developers to add it to the  LegacyBoot Utility folder as an additional tool.

That's the plan for the future, as well as providing a choice of opencore, clover, or refind. I'd have it stream the relevant release archives and extract the specific files needed, rather than bundling them, so that it continues to install the most up-to-date files. Past that I'd like to set up automated builds of DUET, since the refind version I can currently only find via a google drive link.

Edited by SugoiDogo
  • Like 1
Link to comment
Share on other sites

@MacNB Good thing we still have someone who's policing off-topic posts.  Thanks.  I was quoting text from Slice's link https://github.com/CloverHackyColor/CloverBootloader/wiki/Installing that he posted earlier in this thread.  It may help me.  Sorry if that offends you.

Link to comment
Share on other sites

19 hours ago, SugoiDogo said:

for any version of DUET, on any operating system, and install to any device. 

Sorry but it is a dream only. Script for Linux/macOS is not same as for Windows. Devices for Linux is not same as for Windows and even for macOS.

DUET is not a common solution it is always specific.

Clover has scripts for macOS and for Windows and explanation what to do in Linux. Just read WiKi.

To make some DUET you need a sources for it, for example sources from Clover that is ported to OpenCore too. But original DUET sources are deprecated and disappeared from EDK2 repository.

Legacy Clover including the modified DUET used by many people to boot Linux, Windows and sometime even macOS.

 

Link to comment
Share on other sites

  • 2 weeks later...
On 1/27/2023 at 8:30 AM, Slice said:

Sorry but it is a dream only. Script for Linux/macOS is not same as for Windows. Devices for Linux is not same as for Windows and even for macOS.

DUET is not a common solution it is always specific.

Clover has scripts for macOS and for Windows and explanation what to do in Linux. Just read WiKi.

To make some DUET you need a sources for it, for example sources from Clover that is ported to OpenCore too. But original DUET sources are deprecated and disappeared from EDK2 repository.

Legacy Clover including the modified DUET used by many people to boot Linux, Windows and sometime even macOS.

 

 

Command line scripts are OS specific. This is a python script. The python interpreter allows writing scripts that work on all 3 platforms.

 

DUETi uses file access API to open the raw block device on all platforms. The only difference is the access path.

 

DUETi *installs* duet successfully. Whether your chosen bootloader works for your platform is another matter entirely.

 

There is no dream here, it already does what I set out for it to do. From here it simply needs ease of use improvements to be able to fully replace the aforementioned scripts.

Edited by SugoiDogo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...