日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 系统调试工具,Linux 系统调试...

發布時間:2023/12/31 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 系统调试工具,Linux 系统调试... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 編譯內核后不能啟動.GRUB提示Error 13

嘗試重編了2,3次,也修改了一些配置,最后發現還是不行.雖然2.6.18-8的內核不需要make bzImage,只需要make然后就可以

make modules_install了,但是實際上還是要生成bzImage的...仍然是在arch/i386/boot下..

但是我編譯并沒有產生bzImage...產生的另一個文件雖然make install之后也叫vmlinuzxxx但是不能作為

內核啟動,所以GRUB會提示Error 13..所以這個問題,首先不是GRUB的問題,其次也不是Kernel config的問題.

而是沒有bzImage的問題.今天終于成功編譯了一個能用的內核,其他過程大同小異.最大的變動在于我將硬盤從

SATA1插到SATA0了,然后在make的最后終于看到bzImage is ready...

沒有再多試一次確定硬盤插的位置就是主要原因..但是應該差不多.因為在bzImage產生時,打印出一些信息顯示

boot disk之類的東西,估計是bzImage需要確定這些東西才行,如果插在SATA1而不是SATA0的話,可能就不行了,

可能也和MBR master boot region有關系.

make install之后grub.conf文件是會自動改變的,不需要手動去改

2. SATA硬盤不能打開DMA.

這個問題也很麻煩,硬盤速度太慢了 hdparm -tT是1000+M/s 和3M/s,因為IDE驅動是特殊的.在編譯前已經patch,

而且已經將對應模塊config了.但是還是不能hdparm -d1,提示

not permitted..

最后是修改bios,將IDE還是什么設置成ACHI模式,硬盤變成sda之后就快很多了..1000+和70+

3. 從網絡讀寫數據會死機.

找不到原因,后來CPU多加了點散熱膠就OK了....ft

雖然這些問題都很奇怪,而且不太好解決,網上的資料也不多,但是在過程中還是學到很多東西,在有很多因素和問題有關,而且

不能確定的時候,最好的辦法就是一個一個排除這些因素,然后縮小范圍,并適當擴展可能性...

沒有思路的亂想/試一氣是沒有效率的

順便貼點資料參考:

hdparm 開啟 dma 出現 HDIO_SET_DMA failed: Operation not permitted 錯誤的解決方法

以 intel 芯片主板為例,在內核中將 "general/default IDE chipset support" 和 "Intel PIIXn chipsets support" 編譯成模塊

然后在? /etc/modules.autoload.d/kernel-2.6 中將 "piix" 模塊放在最前。

FAQ:如果硬盤設備名稱變更進不去系統該怎么辦?

#在 grub 啟動 gentoo 的 kernel 項尾添加 init=/bin/sh,進入單用戶模式? mount -o remount,rw / mount /boot? #修改 /etc/fstab 和 /boot/grub/grub.conf裝完系統后,第一次打開應用程序總是特別的慢,而且從windows分區拷貝文件也是特別慢,同一臺機器裝的magiclinux就沒有這個問題。懷疑是硬盤的DMA沒有設置好,而記得當初編譯2.6.6內核的時候選擇了默認打開硬盤的DMA模式,嘗試解決這個問題: 從網上搜索相關發現有hdparm命令可以用,用法如下: #hdparm -i /dev/hda 查看硬盤的物理參數和支持的工作模式 #hdparm -v /dev/hda 查看當前硬盤的工作模式 #hdparm -Tt /dev/hda 測試一下優化前和優化后的硬盤讀寫速率 測試了自己的硬盤: Timing buffered disk reads: 64 MB in 24 seconds = 2.5 MB/sec 只有可憐的2.5MB,肯定了自己的猜測。 那就接著根據網上搜到的命令用hdparm命令來把它調好: #hdparm -d1 -c3 -X66 -m16 /dev/hda 可是出現了以下字符: /dev/hda: setting using_dma to 1 (on) HDIO_SET_DMA failed: Operation not permitted using_dma = 0 (off) 然后測試硬盤速度還是可憐的2.5MB,嘗試失敗。 于是仔細研究這些參數的意義: # /sbin/hdparm -x66 -d1 -u1 -m16 -c3 /dev/hda 選項說明: ① c3 :就是把硬盤的16位格式轉換為32位模式(32-bit mode w/sync)。控制數據如何從pci總線傳遞到控制器。 ② m16 :改變硬盤的多路扇區的讀功能,-m16可以使得硬盤在一次i/o中斷中讀入16個扇區的數據。但是不是所有的硬盤都支持這個功能。使用hdparm -i /dev/hda 可以察看您的硬盤最大能讀寫的扇區數目。 ③ d1:打開DMA模式。 ④ x66 :在支持UDMA-capable的硬盤中,這個參數可以支持雙DMA通道的數據傳輸模式。X34 在支持DMA-capable的硬盤中,這個參數可以支持雙DMA通道的數據傳輸模式。支持 ATA33 可以加上 -X66 這個參數,ATA66則是 -X68,-X69是mode 5(ATA100), -X68是mode 4(ATA66)可用于光驅。 ⑤ u1 :Linux在處理磁盤中斷時,可以unmask其他的中斷或者響應其他中斷相關的任務。 于是不斷的拿X66.X68.X69等參數來實驗后立即用#hdparm -tT /dev/hda來測試性能,仍然不成功。再找網上的方法,有如下: 1./etc/rc.d/rc.local 最后面加上一行 /sbin/hdparm -d1 -c3 -X66 -m16 -q /dev/hda 建議加上-q參數,因為man里面說的,這樣可以開機即是DMA模式,不用手動設定,但此方法和命令其實是一樣的,解決不了我的問題。 2.修改/etc/sysconfig/harddisks也可以打開DMA模式 我的slackware9.1沒有這個文件,不行。 3.要靠手工在/etc/conf.d/hdparm里面寫好,然后rc-update add hdparm default。 和方法1目的一樣,對我沒有。 4.編輯/etc/conf.d/local.start加入 hdparm -d1 -c1 -X69 /dev/hda 重啟即可,也類似方法3 5.#hdparm -d1 -c1 -X69 -k1 -K1 /dev/hda 直接命令設定,比較簡單,但對偶還是沒用。 再搜,有人說要重新編譯內核才行,我只好重新編譯,幸虧有原來編譯備份的.config文件,在相關的地方好像是IDE chipset support根據感覺選了一通,重新生成bzImage,重啟電腦,還是失敗,,,,, 不甘心,繼續努力在網上找答案,來到linuxsir.org用搜索功能的只搜主題選項,搜索“硬盤DMA”,把所有的結果仔細看了一遍,發現解決辦法還是要編譯內核,但之前要運行#lspci命令來確定自己電腦的IDE控制芯片是什么。 運行#lspci,結果如下: 00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] System Controller (rev 13) 00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] AGP Bridge 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) 00:07.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 06) 00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 1a) 00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 1a) 00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40) 00:09.0 Multimedia audio controller: C-Media Electronics Inc CM8338A (rev 10) 00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 00:13.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366/368/370/370A/372 (rev 04) 01:05.0 VGA compatible controller: nVidia Corporation NV20 [GeForce3 Ti 200] (rev a3) 找到答案,我編譯內核憑的是模糊的記憶,沒有真正按照自己的硬件來編譯,結果造成IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE 沒有編譯進支持,導致DMA不可用。接下來就好辦了,重新編譯內核,重啟電腦,測試結果如下: #hdparm -tT /dev/hda /dev/hda: Timing buffer-cache reads: 128 MB in 0.57 seconds =225.78 MB/sec Timing buffered disk reads: 64 MB in 1.74 seconds = 36.81 MB/sec 終于搞定,而且2.6內核是自動開機即運行,默認開啟DMA,所以不用做任何設置了。

總結

以上是生活随笔為你收集整理的linux 系统调试工具,Linux 系统调试...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。