IPod在Linux下的實戰

2021-09-04 11:15:26 字數 2355 閱讀 8054

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.新核心使用ipod方法

目前的linux發行版都是使用2.6的kernel,所以,當插入ipod時,總是報告無法安裝該裝置,此時計算機上會顯示如下資訊:

sda:end_request i/o error.dev sda,secor 129063016

buffer i/o error on device sda,logical block 16882877

end-request: i/o eror,dev sda,sector 129063016

end-request:i/o error,dev sda,sector 129063016

buffer i/o error on device sda,logical block 16882877

對於linux來說,ipod就像乙個行動硬碟裝置, 無論使用usb介面,還是firewire(火線)介面將ipod 與計算機相連,linux總是採用scsi**來處理它。出現不識別問題首先在於ipod有多於實際數目的扇區。當然,僅僅如此並不會引起上述錯誤,但如果計算飢試圖識別任何乙個介於實際扇區 數目與檢測扇區數目之間的扇區時,則ipod總是拒絕所有附的附加i/o請求,出現計算機由於識別了乙個ipod的錯誤報告自動鎖定。為了重新設定ipod,就必須斷開ipod與計算機的連線。為什麼只有基於2.6.x的核心會受到這種影響呢? 問題就在於當計算機上安裝ipod裝置時,linux的核心總是試圖找到ipod的分割槽表。對於大多數檔案系統來說,分割槽表都處十分區的第一部分。但是,基於2.6.x核心所支援的一種叫efi的新型的分割槽卻處於分割槽的最後幾部分中,而這幾部分恰恰是一旦被觸及就自動上鎖的部分。最簡單的處理辦法是,去除由核心所支援的efi(extensiblefirmwareinte***ce

)分割槽。直接選擇「config_efi_partition」選項(file systems,partition types,efi guid partition support),然後重新編譯核心。一旦完成這項工作,就可以盡情享受使用ipod的樂趣。下面以rhel 5為例詳細為大家介紹一下。

步驟:

1. cd /usr/src/kernels/2.6.18-92.el5-i686

2. make mrproper  ;

確定系統中沒有.*和.o檔案,假如以前編譯過核心,會產生上述檔案,將會造成編譯的失敗

3. make menuconfig ;

傳統的文字核心編譯模式

選擇:file systems,回車。

選擇partition types回車

選中efi guid partition support,退出。

選yes儲存設定。

4.make

編譯核心模組,編譯核心,時間比較長,大概花了40分鐘

5.make modules_install

;安裝編譯完的核心模組

6.make install

7.depmod -a

;建立模組鏈結

8.reboot;編譯成功後系統啟動選單grub.conf會被修改,在機器啟動時會有新舊兩個核心版本可以選擇

等重新啟動完系統後可以用dmesg命令檢視到資訊:

new high speed usb device using ehci_hcd and address 11

configuration #1 chosen from 3 choices

new usb device found, idvendor=05ac, idproduct=1293

new usb device strings: mfr=1, product=2, serialnumber=3

product: ipod

serialnumber: a7fa2d...

這就說明系統認到了ipod,這下大功告成啦。

儘管重新編譯基於2.6.x的核心會有些不方便, 但做這些工作是絕對值得的, 因為一解決這個小問題,就可以在linux上自由自在地享受ipod帶來的**樂趣。

,floola

是乙個跨平台的免費程式,大小7mb,它可以工作在linux, mac os x和windows(支援windows 7)下,可以識別你的ipod和摩托羅拉手機(只要是支援itunes的裝置)隨意交換資料,這樣再也不用擔心itunes的"有去無回"了。

好了,講了這麼多,是不是心裡都癢癢了,快去你的機器前是實踐把。

IPod在Linux下的實戰

1.新核心使用ipod方法 目前的linux發行版都是使用2.6的kernel,所以,當插入ipod時,總是報告無法安裝該裝置,此時計算機上會顯示如下資訊 sda end request i o error.dev sda,secor 129063016 buffer i o error on de...

IPod在Linux下的實戰

1.新核心使用ipod方法 目前的linux發行版都是使用2.6的kernel,所以,當插入ipod時,總是報告無法安裝該裝置,此時計算機上會顯示如下資訊 sda end request i o error.dev sda,secor 129063016 buffer i o error on de...

IPod在Linux下的實戰

1.新核心使用ipod方法 目前的linux發行版都是使用2.6的kernel,所以,當插入ipod時,總是報告無法安裝該裝置,此時計算機上會顯示如下資訊 sda end request i o error.dev sda,secor 129063016 buffer i o error on de...