19.02.09 17:43 nvbn

How-to`sУскоряем debian

Предупреждение


Все действия производить с чистой системой, в случае с рабочей есть риск всё сломать! Для данных целей рекомендуется netinstall образ
При установке /boot сделать отдельным разделом, хватит 200мб и ext2

Ядро


Для данных целей нужно использовать последнее ядро (>=2.6.28) и собирать его вручную, как правильно это сделать:
make menuconfig

В Processor type and features -> Processor family выбириет свой процессор (у меня Core 2/newer Xeon)
В File systems модульно The Extended 4 (ext4) filesystem и выбрать Ext4 extended attributes
Закончим конфигурирование, приступим к сборке:
1
2
3
make-kpkg --initrd --append-to-version="-append" kernel_image kernel_headers

dpkg -i ../linux*.deb

Где append можно заменить на любое своё слово.

Перевод в ext4


Для начала скачаем partdemagic livecd или liveusb, загрузимся с диска.
Чтоб перевести фс в ext4 (не переводите /boot в ext4!) нужно:
1
2
3
tune2fs -O extents,uninit_bg,dir_index /dev/sdXX

fsck -pf /dev/sdXX

Где sdXX - нужный раздел, для просмотра списка разделов введите fdisk -l
Чтобы наша система загружалась нужно сделать:
1
2
3
mount -a

nano /media/sdYY/etc/fstab

nano, так как он встроен в загрузочный диск. sdYY - коренной раздел.
В открывшемся файле в разделах, где стал ext4 меня ext3 на ext4
Если вы перевели / в ext4, то в /media/sdYY/boot/grub/menu.lst
в строчку kernel нашего ядра допишем rootfstype=ext4 и в строчку # kopt= тоже самое.
Теперь можно с чистой совестью перезагружаться в систему с ext4

apt-build


Это программа, благодаря которой можно устанавливать пакеты из исходных кодов, для установки введите aptitude install apt-build, после установки будет предложено выбрать ваш процессор, в интернете можно найти дополнительные параметры для вашего процессора, мой файл настроек (/etc/apt/apt-build.conf):
1
2
3
4
5
6
7
8
9
10
11
build-dir = /var/cache/apt-build/build

repository-dir = /var/cache/apt-build/repository

Olevel = -O2

mtune = -mtune=core2

options = "-pipe -fomit-frame-pointer"

make_options = "-j4 "

Для начала пересоберём уже установленный пакеты, для этого:
1
2
3
4
5
6
7
dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list

echo "Package: *

Pin: release o=apt-build

Pin-Priority: 990"
>> /etc/apt/preference

Последнее было сделано для того, чтоб при обновление собранные пакеты не заменились пакетами из репозитория.
Для пересборки всего вводим apt-build world и когда пишет, что для какой0то программы нет исходных текстов, удаляем её из /etc/apt/apt-build.list

Позже пакеты устанавливать через apt-build install, обновлятся через apt-build upgrade, более подробная информация в man apt-build

Замена init на upstart


upstart работает быстрее, чем init, для замены введите:
apt-build install upstart


PS в момент написания статьи собирался kde4, без kde, но с fluxbox система грузится 11 секунд, против 26 в такой же системе, но без оптимизации. Всё работает быстрее, заметно даже на глаз =)



KerneL 19.02.09 22:15 # +1
О! Молоток! Круто, спасибо! Однозначно невозбранно доставило
zb 20.02.09 02:58 # +0
ещё добавлю что неплохо было бы поставить ccache перед перекомпиляцией.
l1feh4ck3r 20.02.09 03:05 # +0
Круто, конечно.
А у меня на работющей системе apt-build тупо забивал на параметры компиляции в /etc/apt/apt-build.conf, поэтому отказался от его использования.
nvbn 20.02.09 08:05 # +-2
Я буду ответственно относиться к безопасности своих приложений.
l1feh4ck3r 20.02.09 10:59 # +0
хы. так O2 - это не интересно.
nvbn 20.02.09 11:15 # +-3
Я буду ответственно относиться к безопасности своих приложений.
xcr 20.02.09 13:15 # +0
Да я бы посоветовал в генте вообще забить на gcc-4.3 и пользоваться тем, что предлагают (т.е. 4.1). С 4.3 много чего не собирается. Мне действительно хочется запустить процесс компиляции на ночь, спокойно спать и не находить с утра ошибки компиляции )
MFX 30.03.09 22:26 # +0
здорово я с apt-build намаялся...
xcr 23.02.09 19:36 # +0
Спасибо за статью, делаю debian из debootstrap и планирую там upstart, ext4, ядро без initrd и прочие прелести.

Кстати, а upstart сейчас есть только в experimental?
Посты Комментарии
Последние посты
Посты Комментарии
Последние комментарии
Посты Комментарии
Изменения
Посты Комментарии Изменения Черновики Избранное
Черновики (все)
Посты Комментарии Изменения Черновики Избранное
Избранное (всё)
Посты Комментарии Изменения Черновики Избранное
Лучшие блоги (все 127)
Элита (все 2421 из 196 городов)
welinux.ru