В компе два харда - IDE (с линуксом) - определяется, как /dev/hdb, и SATA
(под файлы) - определяется, как /dev/sda.
/dev/hdb5 - /boot
/dev/hdb4 - /
Компилирую руками ядро 2.6.28
Все как было, добавил только fuse, файловые системы и дрова на сетевуху.
загружаюсь так:
kernel /boot/bzImage
boot
Пишет unable to mount root fs on unknown-block Please append a correct "root=" option бла-бла
Пробую загрузиться так:
root (hd0,4)
kernel /boot/bzImage root=/dev/sda5 #hdb5 не подходит. как я понял, в новых ядрах теперь даже IDE обозначаются как sda
boot
Загружается успешно, но IDE диск с системой определяется, как /dev/sda,
а SATA диска с файлами в /dev нету вобще...
Начал эксперементировать с конфигом ядра.
Для теста отключил вобще PCI support и добавил опций в поддержку SCSI и SATA.
С указанием root=/dev/sda5 ядро отказалось грузиться.
Просто с kernel /boot/bzImage && boot ядро загрузилось, но
SATA диск пропал, а IDE определился стандартно, как /dev/hdb о_О
Вобщем вот...Я конечно понимаю, что я просто что-то не так настраиваю,
но просто странно, почему дефолтный конфиг не работает со стандартной конфигурацией компа.
Такие проблемы появились после обновления на ядро 2.6.28, где что-то
намудрили с драйверами для приводов (libata вместо pata/ide).
Сейчас упорно пытаюсь подобрать конфигурацию, но рабочее ядро получается
только genkernel-ом. Гуглил на тему описания настроек ядра и вобще на тему
ручной сборки, но все статьи 2003-2006 года...
Подскажите, как правильно включить опции для правильной работы IDE и SATA хардов.
И буду благодарен, если кинете ссылками насчет ручной сборки ядра >=2.6.26.
Хотя-бы только про IDE и SATA диски.
Проблемы с ручной сборкой ядра 2.6.28 (замучался)
Модератор: /dev/random
-
Brainsburn
- Сообщения: 950
- Статус: /
- ОС: Gentoo
-
foxnx6110
- Сообщения: 82
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
'sda vs hda' http://www.gentoo.ru/node/12071
выбрасываем весь раздел где Device Drivers -> ATA/ATAPI/MFM/RLL Support (вообще он не надо!)
Короче, была у меня похожая проблемка. Как я понял, пока эта секция включена, IDE-диски будут восприниматься как hda, hdb и т.д. , даже если включена 'Serial ATA (prod) and Parallel ATA'. Я такие вещи включаю в ядро(не модулем !). После этого надо не забыть включить поддержку(опять же, НЕ модулем !) той fs, на которой root-раздел, чтобы не было проблем при загрузке. Я вообще включил всё, что большую часть времени требуется для работы в ядро. А также отказался от splash-заставок, fbcondecor и initrd-образа полностью. Такое решение принял после чтения 'Загрузка Linux за 5 секунд' http://habrahabr.ru/blogs/linux/42638/
Действительно, кое-что в Linux пора пересмотреть заново. Думаю, после перечисленных поправок у Вас будут доступны оба диска как sda и sdb. Я не использовал genkernel.
выбрасываем весь раздел где Device Drivers -> ATA/ATAPI/MFM/RLL Support (вообще он не надо!)
Короче, была у меня похожая проблемка. Как я понял, пока эта секция включена, IDE-диски будут восприниматься как hda, hdb и т.д. , даже если включена 'Serial ATA (prod) and Parallel ATA'. Я такие вещи включаю в ядро(не модулем !). После этого надо не забыть включить поддержку(опять же, НЕ модулем !) той fs, на которой root-раздел, чтобы не было проблем при загрузке. Я вообще включил всё, что большую часть времени требуется для работы в ядро. А также отказался от splash-заставок, fbcondecor и initrd-образа полностью. Такое решение принял после чтения 'Загрузка Linux за 5 секунд' http://habrahabr.ru/blogs/linux/42638/
Действительно, кое-что в Linux пора пересмотреть заново. Думаю, после перечисленных поправок у Вас будут доступны оба диска как sda и sdb. Я не использовал genkernel.
Я НЕ КРАСНОГЛАЗЫЙ ! И никогда им не стану.
-
Brainsburn
- Сообщения: 950
- Статус: /
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
Отключил вобще Device Drivers -> ATA/ATAPI/MFM/RLL Support, осталось включенным в ядро Serial ATA (prod) and Parallel ATA и SCSI
make && make modules_install
mount /boot
cp arch/x86/boot/bzImage /boot/bzImage2628
Вот вывод fdisk /dev/hdb
Я не думаю, что стоит в /etc/fstab что-то менять заранее, т.к. ядро в него и не смотрит вроде как.
Пробую загрузиться:
Вот что пишет:
Пробую так:
Происходит тоже самое, только список дисков ядро выводит такой:
Пробую без всего:
Тоже самое, только
Cannot open root device "<NULL>" и список дисков - sdbx
Кто может достоверно сказать - могут ли быть эти проблемы изза того, что все разделы линукс находятся на "расширенном" разделе винды? (W95 расшир. (LBA)). Если да, то почему? Ведь на ядрах до 2.6.26 никаких проблем вобще не было.
make && make modules_install
mount /boot
cp arch/x86/boot/bzImage /boot/bzImage2628
Вот вывод fdisk /dev/hdb
Диск /dev/hdb: 120.0 ГБ, 120034123776 байт
255 heads, 63 sectors/track, 14593 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x10c610c5
Устр-во Загр Начало Конец Блоки Id Система
/dev/hdb1 1 1275 10241406 7 HPFS/NTFS
/dev/hdb2 1276 7649 51199155 f W95 расшир. (LBA)
/dev/hdb3 7650 7796 1180777+ 82 Linux своп / Solaris
/dev/hdb4 7797 14593 54596902+ 83 Linux
/dev/hdb5 * 1276 1282 56196 83 Linux #/BOOT
/dev/hdb6 1283 1805 4200966 83 Linux
/dev/hdb7 1806 7649 46941898+ 83 Linux
/dev/hdb5 /boot ext2 noauto,noatime 1 2
/dev/hdb4 / ext4 noatime 0 0
/dev/hdb3 none swap sw 0 0
/dev/cdrom /mnt/cdrom auto ro 0 0
/dev/hdb6 /usr/portage reiserfs noatime 0 0
/dev/hdb7 /home ext4 noatime 0 0
/dev/sda1 /mnt/sda1 ntfs-3g defaults,force 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Я не думаю, что стоит в /etc/fstab что-то менять заранее, т.к. ядро в него и не смотрит вроде как.
Пробую загрузиться:
Код: Выделить всё
kernel /boot/bzImage2628 root=/dev/hdb5Вот что пишет:
Root-NFS: No NFS server avialable, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: cannot open root device "hdb5" or unknown-block (2,0)
Please append a correct "root=" boot option;
Here are the available partitions:
0800 48xxxxxxx sda driver: sd
0801 488xxxxx sda1
0b00 10xxxx sr0 driver: sr
0810 117xxxxx sdb driver: sd
0811 11xxx sdb1
0812 1 sdb2
0813 11xxx sdb3
0814 22xxxxxxx sdb4
0815 33xxxxxx sdb5
0816 31xxxxxx sdb6
0817 12xxxxxxx sdb7
Пробую так:
Код: Выделить всё
kernel /boot/bzImage2628 root=/dev/sdb5Происходит тоже самое, только список дисков ядро выводит такой:
0810 117xxxxx hdb
0811 11xxx hdb1
0812 1 hdb2
0813 11xxx hdb3
0814 22xxxxxxx hdb4
0815 33xxxxxx hdb5
0816 31xxxxxx hdb6
0817 12xxxxxxx hdb7
Пробую без всего:
Код: Выделить всё
kernel /boot/bzImage2628Тоже самое, только
Cannot open root device "<NULL>" и список дисков - sdbx
Кто может достоверно сказать - могут ли быть эти проблемы изза того, что все разделы линукс находятся на "расширенном" разделе винды? (W95 расшир. (LBA)). Если да, то почему? Ведь на ядрах до 2.6.26 никаких проблем вобще не было.
-
foxnx6110
- Сообщения: 82
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
В /etc/fstab нужно менять все 'hd*' на 'sd*'. В 'Serial ATA (prod) and Parallel ATA' должен быть выбран модуль для вашего IDE-диска(забыл как называется), а что для SATA-диска нужно включить Вам виднее. В GRUB'е тоже везде sd*. Я вообще не понял, просто, один SATA, без IDE-диска, если бы на нем была Linux, мог бы загрузиться ? Дрова для него правильно выбраны ? Да, fstab хорошо бы увидеть, точки монтирования для SATA-диска. Сорри, проглядел.
По-моему так, для варианта из первого сообщения, с удачной загрузкой(Пробую загрузиться так:
root (hd0,4)
kernel /boot/bzImage root=/dev/sda5 #hdb5 не подходит. как я понял, в новых ядрах теперь даже IDE обозначаются как sda
boot)
Код: Выделить всё
/dev/sda5 /boot ext2 noauto,noatime 1 2
/dev/sda4 / ext4 noatime 0 0
/dev/sda3 none swap sw 0 0
/dev/sda6 /usr/portage reiserfs noatime 0 0
/dev/sda7 /home ext4 noatime 0 0
/dev/sdb1 /mnt/sda1 ntfs-3g defaults,force 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
/dev/cdrom /mnt/cdrom auto ro 0 0По-моему так, для варианта из первого сообщения, с удачной загрузкой(Пробую загрузиться так:
root (hd0,4)
kernel /boot/bzImage root=/dev/sda5 #hdb5 не подходит. как я понял, в новых ядрах теперь даже IDE обозначаются как sda
boot)
Я НЕ КРАСНОГЛАЗЫЙ ! И никогда им не стану.
-
Brainsburn
- Сообщения: 950
- Статус: /
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
Но в первом посте я написал, что с /etc/fstab в котором все диски оставлены как было - /dev/hdbx, ядро грузилось нормально, но IDE диск определялся, как /dev/sda, а SATA диск, который раньше был /dev/sda - вобще пропадал. Это значит, что у ядра и без fstab есть инфа о корневом разделе.
PS: конечно попробую щас подправить fstab, но мне кажется это ерунда.
-
foxnx6110
- Сообщения: 82
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
Дописал выше, вообще я бы не городил огород с отдельным /boot, а сделал бы его в /. А так черт ногу сломит, если SATA в /dev нет как устройства(я ожидал бы как /dev/sdb) меня смущает.
Я НЕ КРАСНОГЛАЗЫЙ ! И никогда им не стану.
-
Brainsburn
- Сообщения: 950
- Статус: /
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
Вобщем вернулся к тому месту, откуда начинал.. Взял стандартный конфиг, не изменял вобще ничего, только добавил ФС. Теперь грузится, но SATA диск вобще не определяется. Теперь попробую аккуратно добавить дрова для моего SATA харда
ЗЫ: кстати грузится как с исправленым fstab, так и со старым =)
ЗЫ: кстати грузится как с исправленым fstab, так и со старым =)
-
foxnx6110
- Сообщения: 82
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
Чего то маньяки тутошние молчат ...
Когда у меня был CONFIG_IDE_GD=y и CONFIG_IDE_GD_ATA=y(из generic ATA/ATAPI disk support (IDE_GD) ) модуль ide-gd_mod, то и были все hd*,несмотря, что было и CONFIG_ATA_PIIX=y(из Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ATA_PIIX)). Теперь только это.
Вот как это в dmesg выглядит(лишнее отстрелил) :
Что в dmesg ?
Когда у меня был CONFIG_IDE_GD=y и CONFIG_IDE_GD_ATA=y(из generic ATA/ATAPI disk support (IDE_GD) ) модуль ide-gd_mod, то и были все hd*,несмотря, что было и CONFIG_ATA_PIIX=y(из Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ATA_PIIX)). Теперь только это.
Вот как это в dmesg выглядит(лишнее отстрелил) :
Код:
SCSI subsystem initialized
libata version 3.00 loaded.
..................
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
ata_piix 0000:00:1f.1: version 2.12
ata_piix 0000:00:1f.1: PCI INT A -> Link[C0D8] -> GSI 11 (level, low) -> IRQ 11
ata_piix 0000:00:1f.1: setting latency timer to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x2580 irq 14
ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x2588 irq 15
Switched to high resolution mode on CPU 0
ata1.00: ATA-6: HTS424040M9AT00, MA2OA72A, max UDMA/100
ata1.00: 78140160 sectors, multi 16: LBA
ata1.01: ATAPI: MATSHITAUJ-840D, 1.02, max MWDMA2
ata1.00: configured for UDMA/100
ata1.01: configured for MWDMA2
scsi 0:0:0:0: Direct-Access ATA HTS424040M9AT00 MA2O PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1 sda2 sda3 < sda5 sda6 > sda4
sd 0:0:0:0: [sda] Attached SCSI disk
scsi 0:0:1:0: CD-ROM MATSHITA UJ-840D 1.02 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 0:0:1:0: Attached scsi CD-ROM sr0
ata2: port disabled. ignoring.
..................
ReiserFS: sda5: found reiserfs format "3.6" with standard journal
ReiserFS: sda5: using ordered data mode
ReiserFS: sda5: journal params: device sda5, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: sda5: checking transaction log (sda5)
ReiserFS: sda5: Using r5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly on device 8:5.
...................
ReiserFS: sda6: found reiserfs format "3.6" with standard journal
ReiserFS: sda6: using ordered data mode
ReiserFS: sda6: journal params: device sda6, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: sda6: checking transaction log (sda6)
ReiserFS: sda6: Using r5 hash to sort names
Adding 1859752k swap on /dev/sda4. Priority:-1 extents:1 across:1859752k
#и на этом всё ...
# fdisk -l
Диск /dev/sda: 40.0 ГБ, 40007761920 байт
240 heads, 63 sectors/track, 5168 cylinders
Units = цилиндры of 15120 * 512 = 7741440 bytes
Disk identifier: 0xbef5bef5
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 414 3129808+ 7 HPFS/NTFS
/dev/sda2 415 1271 6478916+ 83 Linux
/dev/sda3 1272 4922 27601560 5 Расширенный
/dev/sda4 4923 5168 1859760 82 Linux своп / Solaris
/dev/sda5 1272 2147 6622528+ 83 Linux
/dev/sda6 2148 4922 20978968+ 83 Linux
Что в dmesg ?
Я НЕ КРАСНОГЛАЗЫЙ ! И никогда им не стану.
-
Brainsburn
- Сообщения: 950
- Статус: /
- ОС: Gentoo
Re: Проблемы с ручной сборкой ядра 2.6.28
Да странно =)
А я вот наконецто понял, как правильно делать
Действительно
< > ATA/ATAPI/MFM/RLL support --->
нельзя включать вобще. В дефолтном конфиге ничего не менял в Device drivers, добавил ФС, и в
* Serial ATA (prod) and Parallel ATA (experimental) drivers --->
добавил только один драйвер
<*> NVIDIA SATA support
(у меня чипсет nvidia)
После чего загрузился как и раньше, и появился наконец SATA диск. А IDE хард с системой стал определяться, как /dev/sdb. Радости нет предела!
Теперь правда иксы не запускаются, но это не проблема =)
-
Xaktyc
- Сообщения: 604
- ОС: Gentoo 2008.0, WinXP
Re: Проблемы с ручной сборкой ядра 2.6.28
Brainsburn писал(а): ↑01.04.2009 23:16Действительно
< > ATA/ATAPI/MFM/RLL support --->
нельзя включать вобще.
Полгода с этим включенным работаю.