Skip to content


Пересборка initrd

Пример как пересобрать initrd для поддержки определенного железа.
Взято с http://forums.fedoraforum.org/archive/index.php/t-138530.html.

This problem on CentOS:
http://www.centos.org/modules/newbb/viewtopic.php?topic_id=10855.

I made it for Fedora 8.
==================
## 1. Remove Adaptec ASR-2010s
## 2. Install Fedora on a single disk
## 3. Edit loader

  1. cp -r /boot /boot_copy
  2. cp /boot/initrd-2.6.23.1-42.fc8.img /tmp/initrd.img.gz
  3. gunzip /tmp/initrd.img.gz
  4. mkdir /tmp/initrdnew
  5. cd /tmp/initrdnew
  6. cat /tmp/initrd.img | cpio -i
  7. cp /lib/modules/2.6.23.1-42.fc8/kernel/drivers/message/i2o/* /tmp/initrdnew/lib/
  8.  
  9. ## edit loader:
  10. vi /tmp/initrdnew/init
  11.  
  12. ## rem this lines:
  13. #echo "Loading aic79xx.ko module"
  14. #insmod /lib/aic79xx.ko
  15.  
  16. ## and add lines:
  17. echo "Loading i2o_core.ko module"
  18. insmod /lib/i2o_core.ko
  19. echo "Loading i2o_block.ko module"
  20. insmod /lib/i2o_block.ko
  21. find . -xdev | cpio -o -H newc > /tmp/newinitrd.img
  22. gzip /tmp/newinitrd.img
  23. cp /tmp/newinitrd.img.gz /boot/initrd-2.6.23.1-42.fc8.img
  24.  
  25. mkdir /dev/i2o
  26. ln -s /dev/sda /dev/i2o/hda
  27. ln -s /dev/sda1 /dev/i2o/hda1
  28. ln -s /dev/sda2 /dev/i2o/hda2
  29. ln -s /dev/sda3 /dev/i2o/hda3
  30. ln -s /dev/sda4 /dev/i2o/hda4
  31.  
  32. ## edit mtab:
  33. vi /etc/mtab</code>
  34. ## replace /dev/sdaX to /dev/i2o/hdaX
  35. /dev/i2o/hda1 /boot ext3 rw 0 0

## 4. turn off server
## 5. install Adaptec ASR-2010s
## 6. turn on server and correct RAID-bios (Ctrl+A) to RAID-1

I think RAID-5 can be work if correct RAID-bios to RAID-5, and after this remove disks and install Fedora on single disk, and after that input other disks. But I use only RAID-1.

По поводу конкретно контроллера Adaptec ASR-2010s есть пару замечаний.

1. Чтобы linux увидел диски, подключенные к контролееру, нужно загрузить модуль ядра i2o_block:

  1. sh-3.21# /sbin/modprobe i2o_block
  2. I20 subsystem v1.325
  3. i2o: max drivers = 8
  4. i2o: Checking for PCI I20 controllers...
  5. ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 48 (level, low) -> IRQ 201
  6. iop0: controller found (0000:02:02.0)
  7. iop0: PCI I20 controller
  8.     BAR0 at 0xDA200000 size=1048576
  9.     BAR1 at 0xDD000000 size=16777216
  10. iop0: Installed at IRQ 201
  11. i2o: iop0: Activating I2O controller...
  12. i2o: iop0: This may take a few minutes if there are many devices
  13. iop0: HRT has 1 entries of 16 bytes each.
  14. Adapter 00000012: TID 0000:[HPC*]:PCI 1: Bus 1 Device 22 Function 0
  15. i2o: iop0: Controller added
  16. I20 Block Device OSM vl.325
  17. block-osm: registered device at major 80
  18.  i2o/hda: i2o/hda1
  19. block-osm: device added (TID: 212): i2o/hda

2. Чтобы иметь возможность управлять контроллером, нужно установить утилиту raidutils. Raidutils ожидает, что загружен модуль ядра i2o_config и что существует устройство /dev/i2o/ctl. Если такового устройства у вас нет, его можно создать командой

  1. mknod /dev/i2o/ctl c 10 166

Но делать это нужно, только если raidutils не работает, выдавая ошибку «Engine connect failed: COMPATIBILITY number…», поскольку в последних версиях ядра при загрузке модуля i2o_config нужное блочное устройство создается автоматически. Подробнее о raidutils можно почитать на сайте «I2O on Linux».

.

Размещено в категории *nix. Теги: , , , , .

Комментариев: 0

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11