LINUX.ORG.RU

Ядро Linux с патчем pf-kernel (BFS) - не запускается


0

1

Здравствуйте. Gentoo, одноядерный процессор от AMD. Ядро скомпилировано с помощью genkernel. Работает. Скачал последний pf-sources версии 3.1.6, в oldconfig отметил BFS и BFQ, в menuconfig проверил. Скомпилировал, перезагружаюсь, не грузится.

Зависание происходит на этапе «Loading initial ramdisk». Либо зависание, либо - экран с ошибкой, начинающийся с фразы «Pid 0», и какие-то ячейки памяти перечисляются во весь оставшийся экран (разрешение экрана 640x480).

Как пробовал решить.

1). Накладывал сначала Gentoo-kernel-patch, а потом pf-kernel-patch, надеясь, что после этого initramfs будет спокойно работать. Все 200 файлов pf-kernel-patch-а наложились, и только один пришлось патчить вручную. Ошибка та же.

2). Отключил TuxOnIce (напомню, pf-kernel - это слитые воедино три патча, BFS, BFQ и TuxOnIce). Там у него была опция какая-то, в описании которой сказано, «если у вас есть initramfs, то ставить её не обязательно, но можно. А если нет initramfs, ни в коем случае не ставьте, ядро не запустится». Но у меня же он есть, и я поставил галочку перед первой компиляцией. Потом я вовсе отключил TuxOnIce, уверенный, что без него ну точно запустится. Ошибка та же.

Вот diff рабочего конфига и нерабочего конфига pf-kernel (или pf-sources, в portage называется pf-sources):

3c3
< # Linux/x86 3.1.2-gentoo Kernel Configuration
---
> # Linux/x86 3.1.6-pf Kernel Configuration
62a63
> CONFIG_SCHED_BFS=y
128d128
< CONFIG_CGROUP_CPUACCT=y
134,136d133
< CONFIG_CGROUP_SCHED=y
< CONFIG_FAIR_GROUP_SCHED=y
< CONFIG_RT_GROUP_SCHED=y
145d141
< CONFIG_SCHED_AUTOGROUP=y
242c238,241
< CONFIG_DEFAULT_DEADLINE=y
---
> CONFIG_IOSCHED_BFQ=y
> CONFIG_CGROUP_BFQIO=y
> # CONFIG_DEFAULT_DEADLINE is not set
> CONFIG_DEFAULT_BFQ=y
244c243
< CONFIG_DEFAULT_IOSCHED="deadline"
---
> CONFIG_DEFAULT_IOSCHED="bfq"
416c415
< # CONFIG_HZ_250 is not set
---
> # CONFIG_HZ_250_NODEFAULT is not set
418a418,424
> # CONFIG_HZ_1500 is not set
> # CONFIG_HZ_2000 is not set
> # CONFIG_HZ_3000 is not set
> # CONFIG_HZ_4000 is not set
> # CONFIG_HZ_5000 is not set
> # CONFIG_HZ_7500 is not set
> # CONFIG_HZ_10000 is not set
441a448
> # CONFIG_TOI_CORE is not set
700a708
> CONFIG_NETFILTER_XT_TARGET_IMQ=m
1665a1674,1679
> CONFIG_IMQ=m
> # CONFIG_IMQ_BEHAVIOR_AA is not set
> CONFIG_IMQ_BEHAVIOR_AB=y
> # CONFIG_IMQ_BEHAVIOR_BA is not set
> # CONFIG_IMQ_BEHAVIOR_BB is not set
> CONFIG_IMQ_NUM_DEVS=16
3525d3538
< CONFIG_FB_CON_DECOR=y
4939d4951
< # CONFIG_RCU_TORTURE_TEST is not set
5129a5142
> # CONFIG_CRYPTO_LZF is not set

Я так понимаю, знак «>» означает «добавлено», а знак «<» - «убрано».

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 4)

А он вообще где нибудь там где нужен initrd нормально запускается?

P.S. Грузил нормально собирал kernel-pf 3/0/5 под gentoo

bhfq ★★★★★
()

Самый простой путь, который всегда работает, ядро с kernel.org, патчи bfs и bfq,
make localmoconfig,
make localyesconfig
make menuconfig
make bzImage
make modules
make modules_install
make install

SergMarkov
()
mazy@localhost ~ $ uname -a
Linux localhost 3.1.6-pf #1 SMP Wed Dec 14 02:19:18 OMST 2011 i686 AMD E-350 Processor AuthenticAMD GNU/Linux

Все отлично на генте.

MaZy ★★★★★
()
Ответ на: комментарий от post-factum

К чистому, накладывается файл patch-3.1.6-pf.bz2. И я решил, что нужно ещё и гентушный патч наложить, чтобы корректно создался initrd. Наложил - всё осталось по-прежнему.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от megabaks
--- /usr/src/linux-3.1.2-gentoo/.config 2011-11-27 16:30:42.159965081 +0700
+++ /usr/src/linux-3.1.6-pf/.config     2012-01-01 06:03:26.240111571 +0700
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.1.2-gentoo Kernel Configuration
+# Linux/x86 3.1.6-pf Kernel Configuration
 #
 CONFIG_64BIT=y
 # CONFIG_X86_32 is not set
@@ -60,6 +60,7 @@
 #
 # General setup
 #
+CONFIG_SCHED_BFS=y
 CONFIG_EXPERIMENTAL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
@@ -125,15 +126,11 @@
 CONFIG_CGROUP_DEVICE=y
 CONFIG_CPUSETS=y
 CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
 CONFIG_RESOURCE_COUNTERS=y
 CONFIG_CGROUP_MEM_RES_CTLR=y
 CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
 CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
 CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
 CONFIG_BLK_CGROUP=m
 # CONFIG_DEBUG_BLK_CGROUP is not set
 CONFIG_NAMESPACES=y
@@ -142,7 +139,6 @@
 CONFIG_USER_NS=y
 CONFIG_PID_NS=y
 CONFIG_NET_NS=y
-CONFIG_SCHED_AUTOGROUP=y
 CONFIG_MM_OWNER=y
 # CONFIG_SYSFS_DEPRECATED is not set
 CONFIG_RELAY=y
@@ -239,9 +235,12 @@
 CONFIG_IOSCHED_DEADLINE=y
 CONFIG_IOSCHED_CFQ=m
 # CONFIG_CFQ_GROUP_IOSCHED is not set
-CONFIG_DEFAULT_DEADLINE=y
+CONFIG_IOSCHED_BFQ=y
+CONFIG_CGROUP_BFQIO=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_BFQ=y
 # CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
+CONFIG_DEFAULT_IOSCHED="bfq"
 CONFIG_PREEMPT_NOTIFIERS=y
 # CONFIG_INLINE_SPIN_TRYLOCK is not set
 # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
@@ -413,9 +412,16 @@
 CONFIG_SECCOMP=y
 # CONFIG_CC_STACKPROTECTOR is not set
 CONFIG_HZ_100=y
-# CONFIG_HZ_250 is not set
+# CONFIG_HZ_250_NODEFAULT is not set
 # CONFIG_HZ_300 is not set
 # CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1500 is not set
+# CONFIG_HZ_2000 is not set
+# CONFIG_HZ_3000 is not set
+# CONFIG_HZ_4000 is not set
+# CONFIG_HZ_5000 is not set
+# CONFIG_HZ_7500 is not set
+# CONFIG_HZ_10000 is not set
 CONFIG_HZ=100
 CONFIG_SCHED_HRTICK=y
 CONFIG_KEXEC=y
@@ -439,6 +445,7 @@
 CONFIG_HIBERNATE_CALLBACKS=y
 CONFIG_HIBERNATION=y
 CONFIG_PM_STD_PARTITION=""
+# CONFIG_TOI_CORE is not set
 CONFIG_PM_SLEEP=y
 CONFIG_PM_SLEEP_SMP=y
 CONFIG_PM_RUNTIME=y
@@ -698,6 +705,7 @@
 CONFIG_NETFILTER_XT_TARGET_HL=m
 # CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
 # CONFIG_NETFILTER_XT_TARGET_LED is not set
+CONFIG_NETFILTER_XT_TARGET_IMQ=m
 CONFIG_NETFILTER_XT_TARGET_MARK=m
 CONFIG_NETFILTER_XT_TARGET_NFLOG=m
 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -1663,6 +1671,12 @@
 CONFIG_MACVLAN=m
 CONFIG_MACVTAP=m
 CONFIG_EQUALIZER=m
+CONFIG_IMQ=m
+# CONFIG_IMQ_BEHAVIOR_AA is not set
+CONFIG_IMQ_BEHAVIOR_AB=y
+# CONFIG_IMQ_BEHAVIOR_BA is not set
+# CONFIG_IMQ_BEHAVIOR_BB is not set
+CONFIG_IMQ_NUM_DEVS=16
 CONFIG_TUN=m
 CONFIG_VETH=m
 CONFIG_NET_SB1000=m
@@ -3522,7 +3536,6 @@
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FB_CON_DECOR=y
 # CONFIG_FONTS is not set
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
@@ -4936,7 +4949,6 @@
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
 # CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # CONFIG_BACKTRACE_SELF_TEST is not set
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
@@ -5127,6 +5139,7 @@
 CONFIG_CRYPTO_DEFLATE=m
 # CONFIG_CRYPTO_ZLIB is not set
 CONFIG_CRYPTO_LZO=m
+# CONFIG_CRYPTO_LZF is not set

 #
 # Random Number Generation
ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от post-factum

А вообще есть где-нибудь информация по поводу патчей, накладываемых разными дистрибутивами, в одном месте? Например, думал попробовать pf-kernel+ сусевские патчи. Понятно, что в лоб ничего не заработало. С одной стороны хочется попробовать хвалёные BFS+BFQ (очень напрягают тормоза интерфейса при копировании больших файлов), с другой стороны не хочется отказываться от сусевского ядра (мало ли там фичи какие-то суперские). И ЧСХ патчи на ядро в сусе накладываются в спеке не с помощью %patch, а используя скрипт, да и самих патчей очень много, то есть отключение патчей по одному для нахождения конфликтов не катит.

Rakot ★★
()
Ответ на: комментарий от Rakot

В одном не знаю. А для отдельно взятого дистрибутива должна быть инфа где-то в описании пакетов.

post-factum ★★★★★
()
Ответ на: комментарий от post-factum

BFQ и BFS нормально работают на гентушных ядрах, проверял на 3 версиях ядер, одно ужа 2 месяца вертится без проблем.

Dikar ★★
()

что это делает в девелопмент?

xtraeft ★★☆☆
()
Ответ на: комментарий от post-factum

Стесняюсь конечно... Но напишу. Он же меня не стеснялся благодарить за пожертвование в 1 биткойн.

Что написать? Что на 3.0.5 накладывается и работает в Gentoo + initramfs, а с 3.0.6 - нет? vertexua, ты сейчас нужен.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Пиши как есть, только и того. Думаю, если ему понадобятся уточнения, он обязательно спросит.

post-factum ★★★★★
()
Ответ на: комментарий от ZenitharChampion

у меня нет initrd. но работает только 3.0.5. Но возможно у меня руки синусоидой

vertexua ★★★★★
()
Ответ на: комментарий от deterok

Ну я ж не говорю что ты лжешь, просто у нескольких людей воспроизвелось

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Кстати, как я должен заметить что улучшает BFQ?

vertexua ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Еще ck-sources так же не работает, что много о чем говорит. Остальные pf патчи вообще не виноваты

vertexua ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.