Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux NFS 啟動緩慢、修改主機名、驅動 I/O 端口存取函數整理筆記

編輯:Linux 教學

三個獨立主題的實用筆記整理。

一、NFS 服務啟動極慢解決

現象:service nfs start 卡住數分鐘。

原因:/var/lib/nfs/rmtab 記錄歷史客戶端 IP,啟動時逐一檢查連通性,逾時導致延遲。

解決:

cat /var/lib/nfs/rmtab   # 確認內容
> /var/lib/nfs/rmtab     # 清空檔案
service nfs restart      # 秒級啟動

二、Linux 修改主機名 (永久生效)

# 1. 立即生效
hostname new-hostname

# 2. 永久生效 (CentOS/RHEL 6/7)
vi /etc/sysconfig/network
HOSTNAME=new-hostname

# 3. 更新 /etc/hosts
vi /etc/hosts
192.168.0.110 new-hostname new-hostname

# 4. systemd 系統 (CentOS 7+/Ubuntu 16+)
hostnamectl set-hostname new-hostname

三、嵌入式 Linux 驅動 I/O 端口存取函數速查

1. I/O Port 空間 (x86 專用)

inb/outb   // 8-bit
inw/outw   // 16-bit
inl/outl   // 32-bit
insb/outsb // 字串讀寫
insw/outsw
insl/outsl

2. I/O Memory 空間 (MMIO, 所有架構通用)

先 ioremap(phys_addr, size) 取得虛擬位址,再用:

ioread8/16/32(vaddr)
iowrite8/16/32(val, vaddr)
// 舊版相容
readb/writeb, readw/writew, readl/writel

3. 靜態映射 vs 動態映射

  • 靜態映射:核心啟動時建立 (早期啟動裝置)。
  • 動態映射:ioremap() 執行期建立,同一物理位址可映射多個虛擬位址。

4. ARM/嵌入式平台特徵

  • 無獨立 I/O Port 空間,所有裝置掛載於記憶體空間 (MMIO)。
  • 驅動開發統一使用 ioremap + ioread/iowrite。

整理備查,驅動移植時快速對照。

Copyright © Windows教程網 All Rights Reserved