суббота, 30 января 2010 г.

Публичные DNS от Google

У моего провайдера недавно упали ДНС сервера, потом они заработали, потом опять стали тормозить, меня это реально заколебало и я поставил у себя в настройках
Основной днс: 8.8.8.8
Второй днс:     8.8.4.4

После перехода на эти dns у меня пропали все проблемы, гугловский сервер работает гораздо быстрее, чем провайдерский, и вам рекоменду переключиться, если существуют проблемы с провайдерскими серверами.

понедельник, 25 января 2010 г.

Samsung N140 и Linux

Свой первый пост я начну с недавнего решения глобальной проблемы по установке линукса на крутой нетбук Samsung N140-KA02.

Данный нетбук обладает достаточно неплохими характеристиками, в нем большой жесткий диск (что появилось на нетбуках совсем совсем недавно), в нем сетевая карта 802.11n, в нем неплохая по качеству камера, хорошее разрешение дисплея, хороший аккумулятор итд итп до бесконечности, а самое главное - этот девайс можно таскать с собой хоть куда, потому как он легкий.

Поставил я на этот нетбук Ubuntu 9.10 (думаю о том как поставить линукс с флешки и уж тем более убунту статей достаточно и на самом офф сайте убунты это описано подробно.), проблема заключается вот в таком событии

Jan 25 01:49:22 user-laptop kernel: [ 248.816170] ata1.00: exception Emask 0×0 SAct 0×0 SErr 0×0 action 0×6 frozen
 Такое событие происходит примерно спустя 4-6 минут после загрузки системы, система провисает намертво секунд на 30, а потом развисает. Так же это событие может происходить после всяких засыпаний, ожиданий итд.

Описание бага и решение описано здесь http://bugzilla.kernel.org/show_bug.cgi?id=13416

Короче решается это на данный момент только перекомпиляцией ядра (в ядре 2.6.31-17 эта проблема еще не решена), скачиваем последнее стабильное ядро (на сегодняшний день это 2.6.32.5) отсюда http://kernel.org/, ставим на него патч отсюда http://marc.info/?l=linux-ide&m=122724081603679&w=2


1. Скачиваем и распаковываем  архив с ядром  
tar -jxvf linux-2.6.32.5.tar.bz2
2. Заходим в папку с ядром  
cd  linux-2.6.32.5
3. Скачиваем готовый конфиг ядра тут http://sourceforge.net/projects/n140kernel/files/_.config/download переименовываем его в .config и кладем в папку с ядром

4. Патч сохраняем в текстовом файле с названием path-n140 и тоже кладем в папку с исходником ядра

5.Применяем патч командой  
patch -p1 -i patch-n140
6. Ставим все необходимые для этого утилиты  
sudo apt-get install build-essential kernel-package fakeroot initrd-tools libncurses-dev gcc
7. Если нужно что то поменять в параметрах, то запускаем конфигуратор
make menuconfig

8. Компилируем  
make-kpkg --initrd kernel-image kernel-headers
8. После завершения будут созданы два пакета в каталоге на уровень выше (../), ставить их командой

dpkg -i имя пакета

Для тех, кому лень компилировать или нет времени, выкладываю готовое ядро для Ubuntu (скорей всего подойдет и для Debian) данные ядра гарантированно работают на N140-ka02 в Ubuntu 9.10 http://sourceforge.net/projects/n140kernel/files/N140kernel/


Конфиг основан на том, что выкладывали на сайте archlinux.org

Если у кого то есть возможность протестировать эти ядра в N130 или других версиях N140(KA01\02\03\04) - отписываемся в комментах

Дополнение 1:
К сожалению данное решение не совсем решило проблему, я гонял ноутбук от батареи 2 дня, перезагружал его раз 10-15, переключал режимы сеть/батарея, всяко разно пытал и вот под конец 2-ых суток глюк опять всплыл, ноут провисал во время загрузки, сейчас я загрузился со стандартного ядра, удалил самопальное ядро и заново его поставил - глюк исчез.
Очень странно, если целые сутки ноут выдерживал мои испытания и не глючил не во время загрузки не спустя 5 минут. То почему он заглючил потом? Нужно выяснить что изменяется спустя 2е суток и почему портится система?

Дополнение 2:
Решение проблемы появилось в официальном ядре 2.6.34, чтобы его скомпилировать, нужно поставить на kernel-package v12 чтобы скомпилировать ядро и необходимо поставить новый биос 05CU, выпущенный 5 января 2010 года (биос обновляется через винду) скачать можно тут. Новый kernel-package качаем тут.

В общем компилируем и тестим.