Пересборка ядра

Аватар пользователя Warlike

Читаю FAQ https://asplinux.net­/modules­/…­/article.php?storyid=46­
Есть там такое место:
2.2. Распаковка исходных текстов, наложение патчей:
$ cd ~/work/src/asplinux/SPECS/
$ rpmbuild -bp --target=ARCH kernel-2.6.spec
Так вот, когда набираю $ rpmbuild -bp --target=ARCH kernel-2.6.spec
пишет "command not found"
В чем может быть дело?

Аватар пользователя alex_root

Re: Перксборка ядра

Warlike писал(а):
ARCH

Нужно указать архитектуру.

Аватар пользователя sergeil

Re: Перксборка ядра

Цитата:
Warlike пишет:
Так вот, когда набираю $ rpmbuild ...
пишет "command not found"
В чем может быть дело?

[sergeil@homedesk ~]$ rpm -qf `which rpmbuild`
rpm-build-4.4.2-6asp

Аватар пользователя sergeil

Re: Перксборка ядра

Warlike писал(а):
$ rpmbuild -bp --target=ARCH kernel-2.6.spec

Почитайте внимательно HOWTO... Там сказано, что вместо ARCH нужно указать свою архитектуру. И даже сказано как определить... Если не ошибаюсь

Цитата:
[sergeil@homedesk ~]$ uname -m
i686

Если у Вас та же платформа, что и у меня, то
rpmbuild -bp --target=i686 kernel-2.6.spec

Аватар пользователя Warlike

Re: Перксборка ядра

Насчёт того что нужно указывать вместо ARCH архитектуру... Я вобще не дурак и это делал как написано в статье(сюда просто копировал строки из статьи, а не то что набираю). Результат тот же.

Аватар пользователя sergeil

Re: Перксборка ядра

Цитата:
Warlike пишет:
Насчёт того что нужно указывать вместо ARCH архитектуру... Я вобще не дурак и это делал как написано в статье(сюда просто копировал строки из статьи, а не то что набираю). Результат тот же.

Покажите вывод
rpm -qa | grep rpm

Вот мой...


[sergeil@homedesk ~]$ rpm -qa | grep rpm
rpm-libs-4.4.2-6asp
rpm-python-4.4.2-6asp
rpm-4.4.2-6asp
asplinux-rpm-config-8.0.34-1.1asp
rpm-build-4.4.2-6asp
rpmlint-0.76-1.110asp
rpm-devel-4.4.2-6asp
Аватар пользователя fuze

Re: Перксборка ядра

Цитата:
Warlike пишет:
$ rpmbuild -bp --target=ARCH kernel-2.6.spec
Так вот, когда набираю $ rpmbuild -bp --target=ARCH kernel-2.6.spec
пишет "command not found"
В чем может быть дело?

Попробуй сделать это под root...
root@localhost# rpmbuild -bp --target=i686 kernel-2.6.spec

Аватар пользователя sergeil

Re: Перксборка ядра

fuze писал(а):
Попробуй сделать это под root...
root@localhost# rpmbuild -bp --target=i686 kernel-2.6.spec

Человек получает стандартный отлуп, поскольку у него не установлены необходимые пакеты, а соответственно, нет нужных файлов...

[sergeil@homedesk ~]$ which rpmbuild
/usr/bin/rpmbuild

Поскольку rpmbuild находится в директории, пути которой стандартно приписаны для пользователя, то переход в учетную запись root не должно решить его проблемы... Нужно доустановить необходимые компоненты... Для начала rpm-build

Аватар пользователя sergeil

Re: Перксборка ядра

Warlike писал(а):
Насчёт того что нужно указывать вместо ARCH архитектуру... Я вобще не дурак и это делал как написано в статье

Были случаи, когда писали именно ARCH. Так что, не обижайтесь...
Улыбка

Аватар пользователя rjaan

Re: Перксборка ядра

sergeil писал(а):
Были случаи, когда писали именно ARCH. Так что, не обижайтесь...

Может быть описка в статье, в значении к --target нужно указывать $ARCH, что кажется будет правильней с точки зрения синтаксиса shell'а. Т.е.

. . .
$ rpmbuild -bp --target=$ARCH kernel-2.6.spec
. . .

Таким образом, при лексическорм разборе интерпретаор будет искать ARCH в своем окружении, если она не определена, т.е. при запросе echo $ARCH интерпритатор shell возращает пустую строчку, то можно сделать финт ушами Улыбка, вот так:

. . .
$ rpmbuild -bp --target=`uname -m` kernel-2.6.spec
. . .
Аватар пользователя sergeil

Re: Пересборка ядра

rjaan писал(а):
Может быть описка в статье, в значении к --target нужно указывать $ARCH,

Нет, этот момент оговорен в начале статьи...

Аватар пользователя Warlike

Re: Пересборка ядра

Теперь такая проблема. Ставлю ядро с помощью статьи "Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0"(http://linux.alhimia.ru/pub/lar/doc/kernel-2.6/2.0/kernel-2.6-install-2....)

Часть стать:
"!!! Здесь перечислены драйверы контроллеров. Вам нужно ВКЛЮЧИТЬ только один из них - тот что ваш. Если Вы не знаете какой у Вас контроллер откройте другую консоль и запустите там команду lspci."

Запускаю lspci:
[Warlike@localhost ~]$ lspci | grep -i ide
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FR/FRW (ICH6R/ICH6RW) SATA Controller (rev 03)
01:0a.0 Multimedia controller: Philips Semiconductors SAA7134 Video Broadcast Decoder (rev 01)

Но такого драйвера контролера нету. Не подскажите что делать?

Аватар пользователя rjaan

Re: Пересборка ядра

Warlike писал(а):
Теперь такая проблема. Ставлю ядро с помощью статьи "Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0"(http://linux.alhimia.ru/pub/lar/doc/kernel-2.6/2.0/kernel-2.6-install-2....)

Статья смелая, половину настроеек лучше не трогать, а убрать явно не используемые части...

Warlike писал(а):
Запускаю lspci:
[Warlike@localhost ~]$ lspci | grep -i ide
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FR/FRW (ICH6R/ICH6RW) SATA Controller (rev 03)
01:0a.0 Multimedia controller: Philips Semiconductors SAA7134 Video Broadcast Decoder (rev 01)

Рекомендую для IDE использовать следующую конфигурацию:

# Соглащения:
#  # CONFIG_BLK_DEV_NAME is not set  драйвер не используется, соотв. 'n'
#  CONFIG_BLK_DEV_NAME=m  драйвер используется как модуль ядра, соотв. 'm' 
#  CONFIG_BLK_DEV_NAME=y  драйвер встраивается в ядро, соотв. 'y'
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=m
CONFIG_BLK_DEV_IDE=m
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=m
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=m
# Если не планируете использовать стример и
# магнито-оптику.
#CONFIG_BLK_DEV_IDETAPE is not set
#CONFIG_BLK_DEV_IDEFLOPPY is not set
#Eсли планируете использовать эмуляцию 
#SCSI для пишущих CD-устройств IDE 
#интерфейса.
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=m
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPNP=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_OFFBOARD=y
#Вместо троеточия драйверы устройств, 
#которые объявляются модулями ядра и 
#будут подгружены по мере необходимости.
. . .
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
. . .
# CONFIG_WDC_ALI15X3 is not set
. . .
CONFIG_HPT34X_AUTODMA=y
. . .
CONFIG_PDC202XX_BURST=y
. . .
CONFIG_PDC202XX_FORCE=y
. . .
# CONFIG_IDE_ARM is not set
CONFIG_IDE_CHIPSETS=y
Аватар пользователя Warlike

Re: Пересборка ядра

Спасибо, конечно, за совет, но мне бы поконкретнее, если можно Улыбка
Какой драйвер контролера включать? Или просто включить default драйвер.?

Аватар пользователя sergeil

Re: Пересборка ядра

Цитата:
Warlike пишет:
Спасибо, конечно, за совет, но мне бы поконкретнее, если можно Улыбка
Какой драйвер контролера включать? Или просто включить default драйвер.?

Прадлагаю другой подход. А именно - глобальное пошаговое конфигурирование на новом ванильном ядре без старого .config файла... То есть, запускаете `make menuconfig` и получаете.

Linux Kernel v2.6.17.4 Configuration

--------------------------------------------------------------------------------------------------------------
Linux Kernel Configuration
--------------------------------------------------------------------------------------------------------------
│ Code maturity level options --->
│ General setup --->
│ Loadable module support --->
│ Block layer --->
│ Processor type and features --->
│ Power management options (ACPI, APM) --->
│ Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
│ Executable file formats --->
│ Networking --->
│ Device Drivers --->
│ File systems --->
│ Instrumentation Support --->
│ Kernel hacking --->
│ Security options --->
│ Cryptographic options --->
│ Library routines --->

Открываете первый пункт
Code maturity level options --->
Выставляете как Вы считаете нужеым и публикуете... Обсуждаем, идем дальше.
И так экран за экраном... Медленно, но надежно...

Аватар пользователя Warlike

Re: Пересборка ядра

Ядро я конфигурирую 2.6.17.4, но использую xconfig

Аватар пользователя sergeil

Re: Пересборка ядра

Цитата:
Warlike пишет:
Ядро я конфигурирую 2.6.17.4, но использую xconfig

Я думаю, что постить картинки - это не самая хорошая затея...
А что Вам мешает использовать консольный конфигуратор?
Он в графической консоли замечательно работает. Я использую Konsole из KDE...

Аватар пользователя Warlike

Re: Пересборка ядра

С графическим приятнее работать

Аватар пользователя sergeil

Re: Пересборка ядра

Цитата:
Warlike пишет:
С графическим приятнее работать

Мы будем делать как приятно для Вас или как приемлемо для всех?

PS: Могу копать, могу не копать...

Аватар пользователя Warlike

Re: Перксборка ядра

Всем спасибо, я разобрался сам.
Система работает хорошо(тьфу-тьфу-тьфу Катается от смеха ), без сбоев и торомзов.
Очевидно тормозила система из-за того что в стандартном ядре стоит поддержка процессора Pentium Pro, а у меня Pentium 4.
Тормоза как раз выражались в том что через некоторое время после запуска системы процессоры нагружались почти на 100%.
З.Ы. На мой взгялд Windows гораздо лучше Катается от смеха

Аватар пользователя sergeil

Re: Перксборка ядра

Цитата:
Warlike пишет:
...
З.Ы. На мой взгялд Windows гораздо лучше Катается от смеха

Покажите, что у Вас загружается и попробуйте объяснить мне зачем Вам это все... Или хотя-бы половина.
К примеру, вот мой список... (по умолчанию runlevel=3).
[root@homedesk ~]# chkconfig --list | grep 3:вкл

Цитата:
acpid           0:выкл  1:выкл  2:выкл  3:вкл   4:вкл   5:вкл   6:выкл
anacron 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
apmd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
atd 0:выкл 1:выкл 2:выкл 3:вкл 4:вкл 5:вкл 6:выкл
auditd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
crond 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
cups 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
dovecot 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
gpm 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
haldaemon 0:выкл 1:выкл 2:выкл 3:вкл 4:вкл 5:вкл 6:выкл
iptables 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
keytable 0:выкл 1:вкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
lm_sensors 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
messagebus 0:выкл 1:выкл 2:выкл 3:вкл 4:вкл 5:вкл 6:выкл
named 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
network 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
ntpd 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
psacct 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
sendmail 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
smartd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
snmpd 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
snmptrapd 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
sshd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
syslog 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
sysstat 0:выкл 1:вкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
ups 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
vsftpd 0:выкл 1:выкл 2:выкл 3:вкл 4:выкл 5:выкл 6:выкл
xfs 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл
RSS-материал