Nic

如何創建具有 3rd 方網路驅動程序的 Debian netinst 安裝程序?

  • February 28, 2013

我想在一台機器上安裝Debian,但是squeeze netinst模組中的核心和模組不支持網路驅動程序。我可以建構一個有效的核心模組,但是:

  1. 如何獲得用於 debian 安裝程序的相同核心標頭檔,以便建構兼容的模組?
  2. 如何讓安裝程序以自動方式了解此模組?

目前,我使用的是高畫質媒體映像,所以我有一個帶有 FAT16 文件系統的 USB 驅動器,以及 .iso 安裝程序映像。所以,一旦建構了模組,將它放在這個驅動器上是一件相當簡單的事情,但是我如何讓 Debian 安裝程序以自動方式載入它?

如果使用hd-media 安裝方法,這是最簡單的,它必須從 debian FTP 伺服器上的一個不起眼的位置下載。這使您可以安裝 FAT16 文件系統的媒體,它比 ISO 更容易修改。

Syslinux 從這個 FAT16 文件系統執行並從中解壓縮 initrd.gz,這讓您可以執行 Debian 安裝程序。安裝過程的前幾個步驟然後掃描硬碟驅動器設備,尋找包含適當 .iso 的設備,一旦找到,安裝就會正常進行。

核心模組可以針對主 Squeeze 儲存庫中的核心標頭檔建構。

包含自定義驅動程序的一種方法是修改 initrd.gz,它成為安裝程序的根文件系統。不過,這有點痛苦。

一種更簡單的方法是將自定義核心模組放入 FAT16 文件系統,然後使用preseed讓安裝程序在安裝過程的早期執行一個腳本,該腳本從 FAT16 文件系統複製核心模組(將安裝在 /hd-media ) 到根文件系統(從 initrd.gz 創建的 ramdisk)。例如,我在 preseed.cfg 中使用了這個:

d-i preseed/early_command string /hd-media/early_command

early_command並在安裝媒體上創建了腳本:

#!/bin/sh
kernelmoddir="/lib/modules/2.6.32-5-amd64/updates"
mkdir "$kernelmoddir"
cp /hd-media/tg3.ko "${kernelmoddir}/tg3.ko"

引用自:https://serverfault.com/questions/483188