In a nutshell, I am trying to figure out for some Jetway engineers and myself, why the custom bios they made me does not allow SATA devices to boot in AHCI mode.
Obviously, this is difficult to ask considering its a *custom bios, but hopefully I can provide enough detail so that somebody could provide some ideas, because I am running out.
The board is a Jetway NF98. The original bios says American Megatrends at the top. I learned that they just provide the source code to compile (? or maybe just a logo?) but Jetway is the one who configures and produces the actual bios. So I reached out to Jetway, and they have been unbelievably helpful. I told them my goal, and they got right to it and shipped a custom bios.
The goal was simple, allow me to configure bios to refuse any other medium besides the disk connected via SATA Port 0 to be booted from. What they provided did almost exactly that, except it was not configurable, it just was set to not allow anything other than SATA Port 0 to boot.
So I plug my SATA disk in running a custom version of the Crux Linux distro, and bios reports please connect a disk, as if it sees none (even though a glance into bios settings shows a disk connected to port 0).
After some debugging I change the SATA-Mode from AHCI to IDE. This allows the disk to be seen, but boot still fails. This time it makes it a bit further, and fails when looking for root /.
To start, I have decent experience debugging Linux boot. Further, I have an exact copy (hardware & software wise) of this system, using the standard bios that came with the NF98. So I can take the disk, boot it in the standard bios, and everything is successful. When I put it in custom bios, not successful.
After further debugging, this is what I think I know:
-With sata mode as IDE
--Linux (crux) boots until looking for root
--Vista boots successfully
With sata mode as AHCI
--Linux (crux) does not boot successfully (more, the boot process doesn't start)
--Vista does not boot successfully (more, boot process doesn't start)
The Crux OS has slightly outdated custom kernel on it and uses initramfs (also custom). The Jetway engineers suggested upgrading the kernel, I thought fair enough, this did not help.
Then I figured I would try Arch Linux, which also failed in IDE mode, and wasn't seen in AHCI. This was a 3.0-ARCH kernel.
Next, and finally, I installed arch again, but this time to a single partition and used dev, not UUID or LABEL. In AHCI mode, still it was not seen. In IDE mode, still fails on transfer to root.
BUT, when I select Arch's fallback boot menu option, and SATA mode is IDE, I get semi successfully boot; that is I get to login prompt, but there is a decent amount of errors during boot. I am currently looking for what is making the difference.
My apologies for long text. Does anyone have any ideas as to why or where I should look to help figure out why the custom bios with SATA Mode AHCI does not boot?