㈠ linux 下 ATA 與 SATA 的命名規則
假設現在有兩塊磁碟, one master SATA and one master ATA ,他們在 /dev 下會如何呈現?
這個要取決與你的 SATA 驅動和系統配置 (distribution's configuration), 可能會是 /dev/hda 和 /dev/hdb , 或者 /dev/hda 和 /dev/sda ,或者是 /dev/sda 和 /dev/sdb .不同的發行版和驅動正在朝著將所有磁碟命名為 sd* 的方向發展,但是傳統的 PATA 驅動會使用 hd* 而且少部分的 SATA 驅動也會這么做。
設備名取決於 udev 的配置。比如,在 Ubuntu 14.04上,下面來自 /lib/udev/rules.d/60-persistent-storage.rules 的配置會把所有的 ATA 硬碟顯示為 /dev/sd* 並會將所有的 ATA CD設備顯示為 /dev/sr* :
大部分情況下,可以認為 IDE 介面的硬碟命名為 /dev/hd* , SATA 介面的硬碟命名為 /dev/sd* 。
㈡ 如何配置linux內核支持sata
(1)首先,用內核的 allnoconfig 配置目標,得到一個最最基本的內核配置。即,執行下面的命令:
make allnoconfig
內核的 allnoconfig 配置目標會把所有的內核選項都設置為no,也就是把它們既不編譯進內核,也不編譯成模塊。
有了這個最基本的配置,我們再添加必須的配置項:再執行
make menuconfig
命令,按下面的步驟添加其他的配置——
(2)把 Executable file formats 下的ELF 和 emulations for 32bit ELF 選項編譯進內核。
(3)在 Processor type and features 下面,選擇合適的CPU類型。
(4)選擇PCI/PCI-Express支持,位於Bus options (PCI, PCMCIA, EISA, MCA, ISA) 配置目錄下。
(5)加入對根文件系統所在磁碟控制器的驅動:
Device Driver
|---->SCSI device support
|---->SCSI disk support
|----->SCSI low-level drivers
|---->Serial ATA (SATA) support
|---->intel PIIX/ICH SATA support
(6)加入Ext2文件系統的支持:在 File systems 配置目錄下,選擇 Second extended fs support。如果根文件系統是Ext3,則選擇 Ext3 journalling file system support。
(7)為了是 Udev 正常工作,需要內核支持 Unix domain sockets。此配置選項位於 Networking 配置目錄中的 Networking support ---> Networking options 下。
(8)使內核支持 /proc 虛擬文件系統和 tmpfs 文件系統:
File systems ---> Pseudo filesystems ---> /proc file system support / Virtual memory file system support (former shm fs)
(9)支持 swap 分區:
General setup ---> Support for paging of anonymous memory (swap)
(10)支持 RTC 設備:
Device Drivers ---> Character devices ---> Enhanced Real Time Clock Support
(11)為了充分發揮我的雙核CPU的能力,我又加入了對SMP的支持:
Processor type and features ---> Symmetric multi-processing support。
㈢ linux內核認識sata磁碟
早就能用了。只要是用新版本就可以了。不過有的機器硬體太新或者功能特強,還需要用老版沒對應驅動的系統。比如伺服器的 SAS ,裝 RHEL 4.x 系列,一般才需要另找驅動。
bootloader 階段使用 BIOS 功能,所有的 SATA 默認都有一個簡單的 BIOS 讀寫兼容功能提供支持。也就是說開了 AHCI ,BIOS 依然會提供兼容模式。不過現在的操作系統在內核啟動後就會繞過 BIOS 直接操作硬體。這個時候如果開啟了 AHCI 模式,那麼 IDE 兼容部分的硬體介面模擬就沒了,不過 BIOS 自己提供的讀寫功能雖然繼續提供,但系統已然不用了。所以 bootloader 可以讀寫硬碟並不代表 linux 內核可以讀寫硬碟。
linux 的驅動有兩種存放狀態,編入內核或者編成模塊。
initrd 裡面的就是模塊,會被 bootloader 在讀取內核時一起讀取進入內存。一般內核模塊只在需要時載入,可以節省內核的運行體積。但現在新版 linux 內核的 sata 驅動已經高度集成了,所以很多發行版的 SATA 驅動都直接進入內核不需要模塊載入方式了。當然這要看系統的設計,有的系統既然 initrd 必然會提供,那麼編入內核確實沒意義。不過需要另外找驅動的硬體,都是模塊方式存在,他們在系統啟動時必須存在於 initrd 裡面,不然內核自己沒法集成,也不能從硬碟裡面讀取(沒驅動沒法讀盤,沒法讀盤就沒法讀驅動)。
BIOS 的 INT13 功能太簡單了。限制也特別多,現在都是能不用就不用的。所以這東西現在只有 bootloader 才會用。
㈣ 在SATA硬碟上如何安裝linux
主板的BIOS先要將SATA的模式從「增強」設成
老模式,才能啟動RH9
的安裝程序,(不然,會提示找不到硬碟!)!
安裝好後,要升級內核到2.4.22!編譯內核一定要選擇SMP的支持,因為P42.4GC是支持超線程的技術的,就像雙CPU一樣工作!
還要選擇USB支持,選擇sound
core
support
!(不要選擇任何聲音設備)
接著修改GRUB的啟動參數,將
hda
改成
hde
就行,分區號不變!還有就是FSTAB還要改一下,不然啟動後不能激活「SWAP」交換分區!
重新啟動後,將BIOS中的,驅動器
SATA介面再改回
「增強」模式!這樣才能發揮串列ATA介面的全部功能
!
安裝過程:
BIOS預設設置時,SATA被認為是Third
IDE
Master(hde)和Third
IDE
Slave(hdf),在Linux(尤其是老版本)下無法識別。
在BIOS中修改相應選項:
BIOS---Advanced
BIOS
Features
---IDE
configuration
---IDE
Configuration
[P/S-ATA(WIN98/ME)]
//
使用兩個SATA和兩個PATA接
---Combined
Mode
Option
[S-ATA
1ST
CHANNEL]
//
SATA佔用第一個通道(IDE0)
---S-ATA
Ports
Definition
[P0-MASTER/P1SLAVE]
//
IDE0作為MASTER,
IDE1作為SLAVE
結果顯示如下:
PRIMARY
IDE
MASTER
[
HARD
DISK
]
//
這個是SATA
PRIMARY
IDE
SLAVE
[
NONE
]
//
SECONDARY
IDE
MASTER
[
NONE
]
//
SECONDARY
IDE
SLAVE
[
CDROM
]
//
這個是PATA
然後可以正常安裝,串列硬碟被識別為hda。
4、如果不把BIOS的選項改過來,就不需要重新編譯內核,並把GRUB和fstab中間的hda改成hde了