Board logo

標題: 把驅動程式放進公司產品裡面 [打印本頁]

作者: tptc    時間: 2006-9-7 14:59     標題: 把驅動程式放進公司產品裡面

我把驅動程式放進公司產品裡面,重新燒了一片直接包含
這個驅動程式的光碟,可是因為安裝程式好像不會自動把
新加入的驅動程式,加入往後開機時使用的initrd.img裡面,
因此,還要研究一下正確的設定。

不管怎樣,我先把今天晚上做過的步驟寫下來:

1. 將你要包裝的公司光碟拷貝到硬碟目錄下:

mkdir /mnt/pub1 /mnt/ccmail /ccmail
mount -t nfs 192.168.5.50:/pub1 /mnt/pub1
mount -oloop /mnt/pub1/iso/0412/CCMAILP-041210-ldbrhel3.iso /mnt/ccmail
cp -a /mnt/ccmail/* /ccmail

2. 載入新版驅動程式

2-1 解開新版的驅動程式
mkdir /mnt/driver /newmod /orgmod
mount -oloop newdriver.img /mnt/driver
cp /mnt/driver/* /newmod
cd /newmod
zcat modules.cgz | cpio -idvm

2-2 解開原版的驅動程式
cp /ccmail/RedHat/instimage/modules/modules.cgz /orgmod
cd /orgmod
zcat modules.cgz | cpio -idvm

2-3 拷貝新版的驅動程式
cp /newmod/2.4.21-4.ELBOOT/aarich.o /orgmod/2.4.21-4.ELBOOT
find /orgmod/2.4.21-4.ELBOOT/*.* | cpio -ov -H crc | gzip -9 > /ccmail/RedHat/instimage/modules/modules.cgz

3. 更新相關檔案

3-1 module-info
more +2 modinfo >> /ccmail/RedHat/instimage/modules/module-info
(第一行通常都是版本說明,而原版的module-info第一行就有了,所以跳過第一行)

3-2 pcitable
cat pcitable /ccmail/RedHat/instimage/modules/pcitable | sort > /tmp/pcitable.new
cd /ccmail/RedHat/instimage/modules/
mv pcitable pcitable.old
cp /tmp/pcitable.new ./pcitable
(驅動程式有時候會用同樣的Vendor ID以及Product ID,所以會有衝突的狀況
如果有重複,但只是後面的注解不一樣,那麼,用新的或用舊的都沒有差別,
但是絕對不能有重複的ID.........也就是說......是的,還是用vi看一下比較保險,哈∼)

3-3 modules.dep
DriverDisk不一定包含這個檔案的相關訊息,其實,我也不知道怎麼改才是正確的,
以下是我自己亂猜的:

比如你裝的是SCSI,參考一下原版的modules.dep

aacraid: sd_mod scsi_mod

嘿嘿∼我以為aarich大概也就是這樣套用,所以多加這一行:

aarich: sd_mod scsi_mod

4. 作成iso檔,準備燒片啦!

4-1 安裝mkisofs(如果你不會裝mkisofs,大概也不會看到這行了∼ ^_^ 所以我偷懶一下)
4-2 製作過程
cd /ccmail
mkisofs ./ -v -r -T -V "你喜歡的名字" -b images/boot.img -c boot.catalog -o /tmp/ccmail-new.iso

5. 燒片測試,完成!

後記
1. 關於如何讓新版的驅動程式可以直接加到initrd.img,要麻煩Marty及Teddy指導一下。
2. 任何不妥或者哪裡不太對勁的地方,請大家不要客氣,直接告訴我。
作者: service.support    時間: 2008-11-22 16:51     標題: 回復 #1 的帖子

我把驅動程式放進公司產品裡面,重新燒了一片直接包含
這個驅動程式的光碟,可是因為安裝程式好像不會自動把
新加入的驅動程式,加入往後開機時使用的initrd.img裡面,
因此,還要研究一下正確的設定。

不管怎樣,我先把今天晚上做過的步驟寫下來:

1. 將你要包裝的公司光碟拷貝到硬碟目錄下:

mkdir /mnt/pub1 /mnt/ccmail /ccmail
mount -t nfs 192.168.5.50:/pub1 /mnt/pub1
mount -oloop /mnt/pub1/iso/0412/CCMAILP-041210-ldbrhel3.iso /mnt/ccmail
cp -a /mnt/ccmail/* /ccmail

2. 載入新版驅動程式

2-1 解開新版的驅動程式
mkdir /mnt/driver /newmod /orgmod
mount -oloop newdriver.img /mnt/driver
cp /mnt/driver/* /newmod
cd /newmod
zcat modules.cgz | cpio -idvm

2-2 解開原版的驅動程式
cp /ccmail/RedHat/instimage/modules/modules.cgz /orgmod
cd /orgmod
zcat modules.cgz | cpio -idvm

2-3 拷貝新版的驅動程式
cp /newmod/2.4.21-4.ELBOOT/aarich.o /orgmod/2.4.21-4.ELBOOT
find /orgmod/2.4.21-4.ELBOOT/*.* | cpio -ov -H crc | gzip -9 > /ccmail/RedHat/instimage/modules/modules.cgz

3. 更新相關檔案

3-1 module-info
more +2 modinfo >> /ccmail/RedHat/instimage/modules/module-info
(第一行通常都是版本說明,而原版的module-info第一行就有了,所以跳過第一行)

3-2 pcitable
cat pcitable /ccmail/RedHat/instimage/modules/pcitable | sort > /tmp/pcitable.new
cd /ccmail/RedHat/instimage/modules/
mv pcitable pcitable.old
cp /tmp/pcitable.new ./pcitable
(驅動程式有時候會用同樣的Vendor ID以及Product ID,所以會有衝突的狀況
如果有重複,但只是後面的注解不一樣,那麼,用新的或用舊的都沒有差別,
但是絕對不能有重複的ID.........也就是說......是的,還是用vi看一下比較保險,哈∼)

3-3 modules.dep
DriverDisk不一定包含這個檔案的相關訊息,其實,我也不知道怎麼改才是正確的,
以下是我自己亂猜的:

比如你裝的是SCSI,參考一下原版的modules.dep

aacraid: sd_mod scsi_mod

嘿嘿∼我以為aarich大概也就是這樣套用,所以多加這一行:

aarich: sd_mod scsi_mod

4. 作成iso檔,準備燒片啦!

4-1 安裝mkisofs(如果你不會裝mkisofs,大概也不會看到這行了∼ ^_^ 所以我偷懶一下)
4-2 製作過程
cd /ccmail
mkisofs ./ -v -r -T -V "你喜歡的名字" -b images/boot.img -c boot.catalog -o /tmp/ccmail-new.iso

5. 燒片測試,完成!

後記
1. 關於如何讓新版的驅動程式可以直接加到initrd.img,要麻煩Marty及Teddy指導一下。
2. 任何不妥或者哪裡不太對勁的地方,請大家不要客氣,直接告訴我。




歡迎光臨 HGIGA Service Docs (http://docs.hgiga.com/Discuz4/) Powered by Discuz! 4.1.0