Показаны сообщения с ярлыком fedora. Показать все сообщения
Показаны сообщения с ярлыком fedora. Показать все сообщения

1 окт. 2008 г.

Fedora kernel vs ACPI


До настоящего времени наличие OS Linux на моем ноутбуке HP 6715s подразумевалось как само собой разумеющееся. Виста была снесена сразу после покупки, потом последовали эти события... Потом эти... А с недавно, после очередного апдейта мой бук вдруг вырубился... как оказалось - от перегрева!!! Пребывая в состоянии, близком к шоковому, сидел и ждал, пока он остынет :( Разбираю, снимаю клавиатуру, проверяю кулер, теплоотводы и все остальное... Как ни странно - все оказалось чистым, закрепленным, нигде ничего не болталось. Пыль, конечно присутствовала, но не в таком количестве, чтобы её можно было обвинить в перегреве.
Собрал, включил... Час-два - полет нормальный... Нужно было чем-то нагрузить процессор. Запустил Blender - у меня давно валялась "картинка" которую нужно было отрендерить, но все не хватало времени. Запустил... Час ушел на отрисовку, но... все нормально. Интересно девки пляшут (с) не мое. Датчик температуры ACPI показывал нормальную температуру.

Я загнал лаптоп в "hibernate" и занялся другими делами...
...
Вечером после включения точно такая-же проблема. Лаптоп во время работы без нагрузки выключился от перегрева!!!
В итоге до меня начало доходить - после "пробуждения" лаптопа я не слышал звука работащего кулера!!! Опачки!
Опять загоняю в "hibernate" и даю ему полностью остыть... Просыпаемся... Точно! после "пробуждения" кулер работает на самых низких оборотах и при повышении нагрузки и, соответственно, температуры процессора, не повышает эти самые обороты!
Для большей уверенности повторил эксперимент еще два раза. Все опасения подтвердились.
...
После долгих поисков выяснилось, что модуль ACPI fan.ko в Fedora вкомпилен в ядро. И после "пробуждения" лаптопа "теряет связь" датчиком, тем самым вызывая перегрев лаптопа.
В общем, Федору я снес после отправки багрепорта.

____________________________________________

Постовой:

* Для любителей тестов: тестируйся в свое удовольствие на 33Хочу.ру. 33Хочу.ру - здесь все твои желания :)

14 мая 2008 г.

Fedora набрала бета-тестеров.





Да, с Fedora 9 именно так и получилось. Релиз получился совсем никакущий. Будучи уверенным в том, что следом за "восьмеркой" выйдет такая же замечательная и "девятка" я не задумываясь обновился. Тьху!!! Лучше бы я этого не делал. Это просто пиздец какой-то... Какого хрена стабильный релиз выпускают с Xorg-server хер знает какой версии, под который ни NVidia, ни AMD даже дров еще не выпустила????

7 мар. 2008 г.

Linux на HP Compaq 6715s




Купил недавно HP Compaq 6715s (Описание). Сама по себе машинка неплохая, небольша повесу (2,7 кг), что позволяет без особого напряжения таскать его в рюкзаке. Естественно, на ноутбуке предустановлена Vista Basic, которая была снесена сразу же по приходу домой... Встал вопрос - что туда поставить? Какой дистрибутив поднимет все "искаропки"? Выбор пришелся на Archlinux "Don't panic" x86_64, т.к. на домашней машине уже полтора года живет и здравствует Arch, зарекомендовавший себя только с положительной стороны... Поставил, все заработало практически как и ожидалось - "искаропки"... Даже установка такого "гимора" как атишные драйвера обошлась без особого шаманства... Wifi - Broadcom Corporation BCM4312 802.11a/b/g (rev 02) - прекрасно завелся через ndiswrapper, bluetooth, hibernate-suspend тоже работали без проблем. Модемом не занимался за ненадобностью оного, а сам он не поднялся... Самой большой моей ошибкой был выбор именно 64-битного дистрибутива. Нужно было ставить стандартный под архитектуру i686 - лишился бы проблем с flash. А flash мне нужен. Я люблю посмотреть видео на ютубe :) Да и фактически держать одни и те же библиотеки под две архитектуры в системе оказалось не очень удобно... Особенно с учетом того, что жесткий диск на ноутбуке не очень большой... Ну да, вот такой я жлоб и сноб ;)

Следующим моим выбором стала Ubuntu 8.04, которая так-же была снесена ввиду своей общей тормознутости и наличия небофиксеной баги в laptop-mode с Load_Circle_Count, которая умудрялась парковать головки винчестера моего ноутбука каждые 20 сек, таким образом "нащелкав" мне за 3-4 дня 3,5 тыщ парковок... Нафиг, нафиг... Хотя железо... железо тоже все было поднято без особых проблем.

Mandriva 2008... Эта зараза рандомно вешала иксы при запуске скринсейвера с OpenGL и периодически убивала своими зависимостями пакетов... Бага с парковками присутствовала как факт.

... Нужно было сделать перерыв...

На ноут была установлена пераццкая ХРень... Блять! вот что значит, когда железо делают под ось... Как часы! Две недели она работала как швейцарские часы!!!

Снес я ее по убеждениям. Не могу я пользоваться ворованым софтом, а на покупку фотожопов-автокадов денег нет и не будет. Да и кормить всяких плохих дядек не особо охота... К тому же, у меня остался еще как минимум один неиспробованый вариант - Fedora.
Ессно, выбор пал на "восьмерку"... Oh, my, god!!! Shit! Fuck!!! Так не бывает! :) Мне осталось установить только драйвера для видео и скачать firmware для Wifi адаптера. Через час после установки система была окончательно "допилена", обновлена и полностью готова к использованию. Скорость работы, естественно, ниже чем в Arch, но зато не идет ни в какое сравнение с бубунтой.

Продолжения не будет. :)

11 авг. 2007 г.

Установка ipp2p на Fedora 7 (kernel-2.6.22.1-41, iptables-1.3.7)

Нужно было мне это сделать. Нужно было запретить весь пир-ту-пир...
Приступаем.
Качаем и ставим:
yum install kernel-devel-2.6.22.1-41.fc7
yum install kernel-2.6.22.1-41.fc7
yum install kernel-headers-2.6.22.1-41.fc7
yun install rpm-build

Кроме того качаем и ставим:
kernel-2.6.22.1-41.fc7.src.rpm
iptables-1.3.7-2.src.rpm
При установке этих пакетов, если вы получили ошибку “error: cannot create %sourcedir /usr/src/redhat/SOURCES”, необходимо создать директорию /usr/src/redhat

При установке SRPMS возможно будет нужно разрешить зависимости, которые yum решает без проблем.

И самое главное: качаем исходники ipp2p-0.8.2.tar.gz.

Ну что же, будем собирать...
Заходим в /usr/src/redhat/SPECS и делаем:

rpmbuild -bp iptables.spec
cp /usr/src/kernels/2.6.22.1-41.fc7-i686/Module.symvers \ /usr/src/redhat/BUILD/kernel-2.6.22/linux-2.6.22.i386/Module.symvers
rpmbuild -bp kernel-2.6.spec
make /usr/src/redhat/BUILD/kernel-2.6.22/linux-2.6.22.i386/scripts/kconfig/


Идем в директорию с исходниками ipp2p и редактируем Makefile:
Вставляем
KERNEL_SRC=/usr/src/redhat/BUILD/kernel-2.6.22/linux-2.6.22.i386
перед
KERNEL_SRC ?= $(firstword $(wildcard …
и
IPTABLES_SRC=/usr/src/redhat/BUILD/iptables-1.3.7
перед
ifeq ($(IPTABLES_SRC),)

Далее накладываем такой патч:

filename: ipp2p-0.8.2-kernel-2.6.22.patch


diff -Nru ipp2p-0.8.2.orig/ipt_ipp2p.c ipp2p-0.8.2/ipt_ipp2p.c
--- ipp2p-0.8.2.orig/ipt_ipp2p.c 2006-09-27 12:52:00.000000000 +0300
+++ ipp2p-0.8.2/ipt_ipp2p.c 2007-07-11 08:00:26.000000000 +0300
@@ -2,9 +2,18 @@
#include
#endif
#include
-#include
#include
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,21)
+# include
+# define ipt_register_match xt_register_match
+# define ipt_unregister_match xt_unregister_match
+# define ipt_match xt_match
+#else
+# include
//#include
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,21) */
+
#include "ipt_ipp2p.h"
#include
#include
@@ -748,7 +757,11 @@
{
const struct ipt_p2p_info *info = matchinfo;
unsigned char *haystack;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
+ struct iphdr *ip = ip_hdr(skb);
+#else
struct iphdr *ip = skb->nh.iph;
+#endif
int p2p_result = 0, i = 0;
// int head_len;
int hlen = ntohs(ip->tot_len)-(ip->ihl*4); /*hlen = packet-data length*/
@@ -831,7 +844,9 @@
const struct ipt_ip *ip,
#endif
void *matchinfo,
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
unsigned int matchsize,
+#endif
unsigned int hook_mask)
{
/* Must specify -p tcp */
@@ -843,15 +858,6 @@
}


-// TODO: find out what this structure is for (scheme taken
-// from kernel sources)
-// content seems to have a length of 8 bytes
-// (at least on my x86 machine)
-struct ipp2p_match_info {
- long int dunno_what_this_is_for;
- long int i_also_dunno_what_this_is_for;
- -};
-
static struct ipt_match ipp2p_match = {
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
{ NULL, NULL },
@@ -860,17 +866,16 @@
&checkentry,
NULL,
THIS_MODULE
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17))
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
.name = "ipp2p",
.match = &match,
.checkentry = &checkentry,
.me = THIS_MODULE,
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) */
.name = "ipp2p",
.match = &match,
.family = AF_INET,
- .matchsize = sizeof(struct ipp2p_match_info),
+ .matchsize = XT_ALIGN(sizeof(struct ipt_p2p_info)),
.checkentry = &checkentry,
.me = THIS_MODULE,
#endif


и вносим такие изменения в Makefile:

filename: ipp2p-0.8.2-Makefile.patch


diff -Nru ipp2p-0.8.2.orig/Makefile ipp2p-0.8.2/Makefile
--- ipp2p-0.8.2/Makefile 2006-12-09 03:17:52.000000000 +0200
+++ ipp2p-0.8.2-fix/Makefile 2006-12-09 03:10:37.000000000 +0200
@@ -64,7 +64,7 @@

libipt_ipp2p.so: libipt_ipp2p.c ipt_ipp2p.h
$(CC) $(CFLAGS) $(IPTABLES_OPTION) $(IPTABLES_INCLUDE) -fPIC -c libipt_ipp2p.c
- ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
+ $(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o


Если все наложилось без ошибок значит вы все сделали правильно ;)
Далее собираем ipp2p:

make


Должно все собраться без ошибок.
Копируем libipt_ipp2p.so в /lib/iptables и ipt_ipp2p.ko в /lib/modules/2.6.22.1-41.fc7/kernel/net/ipv4/netfilter и делаем

depmod -a

Все. Поздравляю с успешно выполненой работой. :)

Материалы:
ipp2p HOWTO for Fedora Core 6
Ipp2p 0.8.2 fix for iptables 1.3.6