Hi,
You must be almost there.
cheshirekow, on 25 July 2012 - 09:15 PM, said:
I did the partitioning (and all the following) from ubuntu 12.04 installed on /dev/sda, so this work is all being done on a separate physical disk (1TB). I later read that gparted incorrectly sets a flag for fat32 partitions, [q1] Do I need to fix this?
There is something you need to fix that (see below, I saw it last).
cheshirekow, on 25 July 2012 - 09:15 PM, said:
I wanted to be able to boot Ubuntu normally (i.e. without DUET) so I first installed ubuntu to sdb4, and installed GRUB to the MBR (/dev/sdb). [q2]newb question: it is still called the MBR? Even if the drive has a GPT? Or is it called something else?
Hmmm. if you read rodsbooks, you should know that there still exists an MBR on GPT-partitioned disks, called the protective MBR.
However, GRUB should not be installed to the MBR.
As is said on section 3.4 of GRUB's manual, you should create a partition for GRUB, a small one (say, 64KiB) is enough.
That partition should have type EF02.
When you install grub, it will find this partition and install itself partly on the MBR and what doesn't fit in the MBR will go to that partition.
On MBR-only disks, grub used to use the sectors just after the MBR assuming they were free, this was less safe.
But this is not the reason why you can't boot DUET.
Read on...
cheshirekow, on 25 July 2012 - 09:15 PM, said:
It is my (potentially mis-) understanding that this installs "DuetBoot" to the boot record for that partition, and that "DuetBoot" will attempt to load EFILDR20 from the root of it's partion. [q3] is that right?
Yes, it is right.
Moreover, you already know for sure that BootDuet was loaded and executed properly and that it did its job right, which is loading and executing EFILDR20.
Because you saw "ABCD" and all those funky welcome messages, it must have loaded properly (there is no being half-correct here).
So, why does DUET hang?
There is not much else to check, but I have a couple of suggestions.
cheshirekow, on 25 July 2012 - 09:15 PM, said:
[q4] My disk is connected via a SATA cable so I should be using the UDK_x64 EFILDR20 right? Since the EDK one only supports ide?
I think Keshav says that's the one you use in any case.
However, there is a misconception there: your disk is connected via a SATA cable but BIOS may be faking it as an IDE disk.
In the BIOS setup, you have that "IDE compatible" or "AHCI" setting. AHCI is better and faster, however, if you installed Windows in "IDE compatible" then you have to stick to it.
But that is the setting that determines that from a software point of view (in early OS loading stages) your disk looks like IDE or SATA.
This could be one reason for you hanging, yes. You could try each of the settings in turn with each of the versions of EFILDR20.
That's four possibilities to try out.
However, you should only bother to do so, after: (read on)
cheshirekow, on 25 July 2012 - 09:15 PM, said:
[q5] The rodsbooks page makes it sound as if there should be more files on the boot partition, but he doesn't say which files to copy over. Should I copy more files over?
No, it's fine. You can copy EFI tools that you may like, such as the EFI shell, but that's for latter. Focus on booting Windows through DUET first.
cheshirekow, on 25 July 2012 - 09:15 PM, said:
[q6] The system board is a SuperMicro x8dtg-qf with two intel xeon processors. Is that perhaps known to be incompatable?
I'd have to check that on our 3-million entry Hardware Compatibility List, but that means I'd have to go across the campus to our Q-A department.
This was a joke.
cheshirekow, on 25 July 2012 - 09:15 PM, said:
[q7] I read something somewhere but lost the link about installing BootDUET using low level tools and there were instructions about copying binary data using "dd" and copying it to specific sectors and other things I didn't understand at all. I'm under the impression this is all done by "install_duet". Is that correct?
It must have been done, yes, otherwise you'd never have seen "ABCD".
That was all fine. Go back to BootDuet and forget syslinux, syslinux is more trouble than BootDuet.
Now, the first thing to try:
Even though you read rodsbooks, you still used gnu parted, and not Rod's gdisk. His' is much better.
So, first, stop using gnu parted.
What you call your BOOT partition, that 500 MiB FAT32, is what is called your EFI System Partition (ESP).
Your ESP should be marked with a special code in the GPT, which is EF00.
Gnu parted might have used another code. If it did, I don't remember, but maybe DUET does not find your ESP and maybe that's why it hangs.
Here is the partition table on my laptop (output of gdisk):
1 2048 134219775 64.0 GiB 0700 vista
2 134219776 136316927 1024.0 MiB 8301 gentoo-root
3 136316928 153094143 8.0 GiB 8301 gentoo-usr
4 153094144 157288447 2.0 GiB 8301 gentoo-var
5 157288448 159385599 1024.0 MiB 8301 gentoo-portage
6 159385600 167774207 4.0 GiB 8301 gentoo-distfiles
7 167774208 192940031 12.0 GiB 8301 linux-opt
8 192940032 201328639 4.0 GiB 8200 linux-swap
9 201328640 218105855 8.0 GiB 8301 linux-tmp
10 218105856 268437503 24.0 GiB 8301 linux-home
11 335546368 343934975 4.0 GiB A502 freebsd-swap
12 343934976 352323583 4.0 GiB A503 ufs-tmp
13 352323584 360712191 4.0 GiB A503 ufs-home
14 360712192 364906495 2.0 GiB A503 freebsd-distfiles
15 364906496 369100799 2.0 GiB A503 freebsd-ports
16 369100800 377489407 4.0 GiB A503 freebsd-local
17 377489408 385878015 4.0 GiB A503 freebsd-usr
18 385878016 387975167 1024.0 MiB A503 freebsd-root
19 387975168 390072319 1024.0 MiB A503 freebsd-var
20 390072320 390334463 128.0 MiB EF00 duet
21 390334464 390596607 128.0 MiB 0C01 msr
22 390721536 390721663 64.0 KiB EF02 grub
23 390721664 390721791 64.0 KiB A501 freebsd-boot
The following are relevante:
- My "duet" partition is my ESP and has type EF00 (there should only be one on the disk). The files for booting Windows go in there. (the SOMETHNG.EFI stuff)
- GRUB is partly on the protective MBR and partly on my "grub" partition with type EF02.
- "msr" was created by Windows (he likes it there, even though its useless, I left 128MiB prepared for Windows to be able to create it)
- BTW, freebsd's gptboot code goes on the "freebsd-boot" partition with type A501 and "freebsd-root" has the "bootable" flag set (set by FreeBSD's own tool gpart)
If its not the EF00 type for your "BOOT" that it's missing, then it must be a matter of "IDE compatible" vs. "AHCI" or try different versions of EFILDR20.