ядро 2.6.26 и sata reiserfs
gers 8 сентября, 2008 - 17:04
Уважаемые коллеги,
возникла такая проблема собираю ядро 2.6.26, при загрузке выдает что корневой раздел не найден root(0,0), до этого стояло ядро 2.6.20 собралось нормально все монтируется, все работает, а на этом уже почти все вкомпилил в ядро, но чтото неполучается...
винт стоит на sata шлейфе, корневая система reiserfs
lspci
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev 01) 00:05.0 IDE interface: Silicon Integrated Systems [SiS] SATA (rev 01) 00:1f.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
cat ./.config |grep FS
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_INITRAMFS_SOURCE="" CONFIG_PAGE_OFFSET=0xC0000000 # CONFIG_ACPI_PROCFS is not set CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_SYSFS_POWER=y CONFIG_NET_SCH_HFSC=m CONFIG_IDE_MAX_HWIFS=4 CONFIG_IDE_PROC_FS=y CONFIG_SCSI_PROC_FS=y CONFIG_SENSORS_FSCHER=m CONFIG_SENSORS_FSCPOS=m # CONFIG_SENSORS_FSCHMD is not set CONFIG_SND_VERBOSE_PROCFS=y CONFIG_USB_DEVICEFS=y # CONFIG_USB_GADGET_FSL_USB2 is not set CONFIG_USB_GADGETFS=m CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT2_FS_XIP=y CONFIG_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y # CONFIG_EXT4DEV_FS is not set CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_PROC_INFO=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y # CONFIG_JFS_SECURITY is not set # CONFIG_JFS_DEBUG is not set CONFIG_JFS_STATISTICS=y CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y # CONFIG_XFS_RT is not set # CONFIG_XFS_DEBUG is not set # CONFIG_OCFS2_FS is not set # CONFIG_AUTOFS_FS is not set CONFIG_AUTOFS4_FS=m # CONFIG_FUSE_FS is not set CONFIG_ISO9660_FS=m CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set # CONFIG_NTFS_RW is not set CONFIG_PROC_FS=y CONFIG_SYSFS=y CONFIG_TMPFS=y # CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_HUGETLBFS is not set # CONFIG_CONFIGFS_FS is not set CONFIG_ADFS_FS=m # CONFIG_ADFS_FS_RW is not set CONFIG_AFFS_FS=m # CONFIG_ECRYPT_FS is not set CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=m CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set # CONFIG_JFFS2_SUMMARY is not set # CONFIG_JFFS2_FS_XATTR is not set # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y # CONFIG_JFFS2_LZO is not set CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set CONFIG_CRAMFS=y # CONFIG_SQUASHFS is not set CONFIG_VXFS_FS=m CONFIG_MINIX_FS=m CONFIG_HPFS_FS=m CONFIG_QNX4FS_FS=m CONFIG_ROMFS_FS=y CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set # CONFIG_DEBUG_FS is not set CONFIG_TEXTSEARCH_FSM=m
cat ./.config |grep ATA
# CONFIG_X86_MCE_NONFATAL is not set # CONFIG_RELOCATABLE is not set # CONFIG_ATALK is not set # CONFIG_MTD_DATAFLASH is not set CONFIG_ATA_OVER_ETH=m # CONFIG_BLK_DEV_IDE_SATA is not set CONFIG_SCSI_EATA=m CONFIG_SCSI_EATA_TAGGED_QUEUE=y # CONFIG_SCSI_EATA_LINKED_COMMANDS is not set CONFIG_SCSI_EATA_MAX_TAGS=16 CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=y CONFIG_SATA_SIL24=y CONFIG_ATA_SFF=y CONFIG_SATA_SVW=y CONFIG_ATA_PIIX=y CONFIG_SATA_MV=y CONFIG_SATA_NV=y CONFIG_SATA_QSTOR=y CONFIG_SATA_PROMISE=y CONFIG_SATA_SX4=y CONFIG_SATA_SIL=y CONFIG_SATA_SIS=y CONFIG_SATA_ULI=y CONFIG_SATA_VIA=y CONFIG_SATA_VITESSE=m # CONFIG_SATA_INIC162X is not set # CONFIG_PATA_ACPI is not set CONFIG_PATA_ALI=m CONFIG_PATA_AMD=m CONFIG_PATA_ARTOP=m CONFIG_PATA_ATIIXP=m # CONFIG_PATA_CMD640_PCI is not set CONFIG_PATA_CMD64X=m CONFIG_PATA_CS5520=m CONFIG_PATA_CS5530=m CONFIG_PATA_CS5535=m # CONFIG_PATA_CS5536 is not set CONFIG_PATA_CYPRESS=m CONFIG_PATA_EFAR=m CONFIG_ATA_GENERIC=m CONFIG_PATA_HPT366=m CONFIG_PATA_HPT37X=m CONFIG_PATA_HPT3X2N=m CONFIG_PATA_HPT3X3=m # CONFIG_PATA_HPT3X3_DMA is not set CONFIG_PATA_IT821X=m # CONFIG_PATA_IT8213 is not set CONFIG_PATA_JMICRON=m CONFIG_PATA_TRIFLEX=m CONFIG_PATA_MARVELL=m CONFIG_PATA_MPIIX=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_NETCELL=m # CONFIG_PATA_NINJA32 is not set CONFIG_PATA_NS87410=m # CONFIG_PATA_NS87415 is not set CONFIG_PATA_OPTI=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_PDC_OLD=m CONFIG_PATA_RADISYS=m CONFIG_PATA_RZ1000=m CONFIG_PATA_SC1200=m CONFIG_PATA_SERVERWORKS=m CONFIG_PATA_PDC2027X=m CONFIG_PATA_SIL680=m CONFIG_PATA_SIS=y CONFIG_PATA_VIA=m CONFIG_PATA_WINBOND=m CONFIG_PATA_PLATFORM=y CONFIG_PATA_SCH=m CONFIG_USB_STORAGE_DATAFAB=y # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_ATARI_PARTITION is not set
Подскажите что я не так делаю
»
- Для комментирования войдите или зарегистрируйтесь
gers
Что-то мне подсказывает, что ты либо не тот конфиг берёшь, либо забыл про
# make oldconfig
--
Live free or die
.
то есть в grub.conf две записи, одинаковые во всём, кроме ядер (которые рядом лежат в /boot), и с одного по-прежнему грузится, а с другого - нет? я бы сделал diff двух конфигов .config и его изучил.
не
Для двух разных ядер - занятие условно целесообразное.
# make oldconfig
не спроста придумали.--
Live free or die
У меня стоит
У меня стоит вот такой PCI-контроллер:
lspci
01:09.0 Mass storage controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 02)
Проблеммы с неопределением возникают, если в ядро "впихнуть". Если модулем, ноу проблемс.
Тебе из этого списка нужно только sata_sil+sata_sil24, хотя в твоём случае контроллер интегрированный - думаю будет достаточно. Я поставил оба модулем.
Пробуй.
Для ядра 2.6.26 у
Для ядра 2.6.26 у меня так:
# gunzip -cd /proc/config.gz|grep ATA|grep -vE ^#
CONFIG_ATA=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_SFF=y
CONFIG_PATA_ATIIXP=y
# gunzip -cd /proc/config.gz|grep BLOCK|grep -vE ^#
CONFIG_BLOCK=y
CONFIG_BLOCK_COMPAT=y
CONFIG_I2O_BLOCK=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MSPRO_BLOCK=y
# gunzip -cd /proc/config.gz|grep LOOP|grep -vE ^#
CONFIG_BLK_DEV_LOOP=y
У вас, вероятно, нужен CONFIG_SATA_SIS=y. А загрузочный раздел лежит на корневом? Если да, то он монтируется с notail? Кто именно выдаёт ошибку - ядро или загрузчик?
# grep reiserfs /etc/fstab
/dev/sda1 / reiserfs noatime,notail 0 1
/dev/sda5 /home reiserfs noatime 0 2
В /boot/grub/grub.conf есть нечто вроде:
title=Gentoo Linux 2.6.26-zen21 (Text console)
root (hd0,0)
kernel /boot/linux-2.6.26-zen21 root=/dev/sda1
Наконец, ядро собиралось через genkernel?
1. загрузитесь в
1. загрузитесь в то ядро, которое грузится
2. убедитесь, что /usr/src/linux указывает на НОВОЕ ядро (которое не собирается)
3. переместите куда-нибудь .config, make clean, make mrproper (очистить все, что насобирали, чтоб при сборке ошибка какая-нибудь не вылезла).
4. make oldconfig - подтянет конфиг загруженного ядра, задаст несколько вопросов (по новым опциям, которых еще не было в старом ядре). make menuconfig дабы убедиться, что все на месте
5. make && make modules_install. установить ядро (какой там у вас способ, я просто копированием в boot делаю)
обновляюсь так почти год. обычно траблы возникают, когда модулем соберешь, например, контроллер SATA, если ядро без initrd грузится. может быть и у вас подобное что-то, по симптомам похоже, то что ядро корневой раздел найти не может. надо ФС корневой системы и контроллер ЖД, с которго грузишся, [*] собирать, а не [M].