This is my first post, forgive me if I am in the wrong place or if my post is considered inappropriate.
I have borrowed the idea from numerous Mac user forums, after I added a SSD disk to my Sony VAIO VPCW12J1E, 32bit, dual booting Debian Sid / Windows 7 Starter on standard MBR - no GPT, no EFI, no UEFI.
The netbook is equipped with a heavily mutilated Phoenix BIOS, which lacks the option to set the chipset in AHCI mode (see my post here for example).
With Debian already installed in IDE mode, and initramfs-tools package, it's all quite simple:
nano /etc/initramfs-tools/modules
- at the end of the file, add a first line to load the module ahci and a second line for the module libahci ;nano /etc/initramfs-tools/conf.d/driver-policy
- change from MODULES=dep to MODULES=list ;- then regenerate yours initrd images -
update-initramfs -u -k all
andlsinitramfs /boot/initrd.img-'uname -r' | grep -i ahci
just to be sure that the needed modules are in place; nano /etc/grub.d/40_custom
- write a custom menuentry and, immediately after the last line initrd /initrd.img just write setpci -s 0:1f.2 90.b=40 and then close the stanza with the } symbol;- then
update-grub
; - and lastly again
update-initramfs -u -k all
.
Reboot, choose your custom menuentry, enjoy Debian with SSD in AHCI mode (see attachment #1 on my Google Drive).
With Windows is another story, the previous magic string does not suffice alone and indeed, it prevents the system from seeing the SSD disk - so it does not boot. But I believe the SATA settings mentioned in the official datasheet can be translated into other setpci strings. I can provide whole PCI configuration space of my ICH7-M in IDE and AHCI mode to get a diff (see attachment #2) but I would need a lot of help translating the differences into the right strings.
edit
Following for example post #7 here, I tried with grub4dos, from an MS-DOS floppy (I have a USB floppy drive) with a setpci compiled with DJGPP from here - tracing the various values of the offsets from the linux lspci dump of the ICH7-M put first in IDE mode and then in AHCI mode, but still to no avail:
setpci changes the offset values as I would like, but not even grub4dos can identify the SSD:
after a few minutes from loading, it ends in the grub>
console, and then ls (hd0,0)
just hangs (while grub4dos floppy alone with controller stuck in IDE just boots Windows as expected).
Here is a picture of the diff IDE - AHCI, and the autoexec commands I issued from DOS.
I move into uncharted territory, and if I have not made mistakes in my attempt, I begin to think that my BIOS mutilations are not workable this way.
setpci -s 0:1f.2 90.b=40
boot fails with "error: attempt to read or write outside of disk 'hd0'." - if I omit the string, the chipset in IDE is and in IDE it remains - that's why I think there is a need for more setpci strings, which unfortunately I don't know how to write.