понедельник, 10 ноября 2008 г.

8.10, dkms, nvidia, btrfs

Итак, раз уж в рубунтнете поднялась мода описывать свой опыт по общению с разного вида "козлами" (у кого насколько переводческой фантазии хватит), присоединюсь к этому движению. Да, я тоже обновился до 8.10, чему очень рад. Собственно рад я в основном новой фишке - DKMS.

Некоторое время у меня задурил драйвер Nvidia - я особо не разбирался конечно, и с налету решить не удалось - вместо модуля nvidia_new, который новой версии, грузился старый nvidia. В 8.10 эту часть работы с модулями заменили на DKMS.

Итак, а что это? А это такая система автоматической сборки модуля под ваше ядро. Предположим поставили вы себе 2.6.28, а DKMS тут как тут - тут же соберет модуль и установит его под новое ядро. То есть думать о том, что вы там такого стороннего в ядро напихали, каждый раз совершенно не надо.

И тут у нашего повествования этакий плавный переход. Связующее звено у двух повествований все тот же DKMS. Я экспериментировал с Btrfs, а так как это новая файловая система, планируемая (авторами, когда нибудь : )) ) к включению в ядро, и вообще чтобы корень на нее помещать, то представляет собой она собственно модуль ядра. А модулями ядра у нас теперь ведает - DKMS.

Итак, чтобы вы тоже приобщились к 21 веку, и познали прелесть COW (copy-on-write) систем, дам вам указание верного пути, то есть dkms.conf.
Стягиваем исходники модуля ядра и кладем их в /usr/src/btrfs-0.16 (ну вот такая вот у нас текущая версия). В том же каталоге создаем dkms.conf следующего содержания:

MAKE[0]=make
BUILT_MODULE_NAME[0]=btrfs
DEST_MODULE_LOCATION[0]="/kernel/fs/btrfs"
PACKAGE_NAME="btrfs"
PACKAGE_VERSION="0.16"
CLEAN="make clean"
AUTOINSTALL="yes"


Далее следует серия команд для запуска модуля в работу:

root:host~# dkms add -m btrfs -v 0.16
root@rni-15:~# dkms add -m btrfs -v 0.16

Creating symlink /var/lib/dkms/btrfs/0.16/source ->
/usr/src/btrfs-0.16

DKMS: add Completed.
root:host~#
root:host~# dkms build -m btrfs -v 0.16

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=2.6.27-7-generic............
cleaning build area....

DKMS: build Completed.

root:host~# dkms install -m btrfs -v 0.16
Running module version sanity check.

btrfs.ko:
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/2.6.27-7-generic/updates/dkms/

depmod........

DKMS: install Completed.

root:host~# modprobe btrfs

Отлично, теперь скачайте утилиты для работы с btrfs и посмотрите, что вам может дать эта система. А может она вам дать снимки, тома, контрольную сумму всех блоков, raid различных уровней и многое другое. Работает гораздо живее zfs которая на fuse. Но не стоит пока размещать на ней /home or /.

Кстати о снимках, если вы пересилите себя, и доберетесь до самого первого поста этого блога, то увидите там бесподобную идею поставить /etc/ под контроль версий. Идея умерла с того момента, как я познакомился с концепциями zfs и btrfs - это наше файловое будущее.

Подробности, одни из, тут.

Комментариев нет: