Пересобрал мир и ядро на только что установленной фряке. Вот как было дело
После установки Фряки мне пришла в голову мысль, что неплохо было бы персобрать мир и ядро системы.
Дальше опишу свои действия и команды, а так же укажу источники информации, которыми я пользовался в процессе.
Итак, приступим
Для оптимизации компиляции нужно отредактировать /etc/make.conf
Пример make.conf можно найти в /usr/share/examples/make.conf
У меня получился вот так — http://killercoder.ru/zennix/Nastroyka_make_conf_v_FreeBSD
Обновляемся через cvsup как тут — http://killercoder.ru/zennix/Obnovlenie_ishodnikov_cherez_cvsup
Читаем тут — http://www.freebsd.org/doc/ru/books/handbook/makeworld.html
Загружаемся в однопользовательский режим:
После загрузки вводим:
# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a
Переходим в директорию с исходниками (у меня /usr/src/)
# cd /usr/src/
На этапе выбора архитектуры мира произошла накладка, дело в том что uname -a возвратил мне i386, а
dmesg | grep CPU — Athlon64 :)
Нужно было безболезненно перейти на другую архитектуру так как make buildkernel отказался запускаться с параметром в файле конфигурации ядра cpu HAMMER — это для 64х битных атлонов.
Google нашёл по этому поводу статью вот она — http://unixfaq.ru/index.pl?req=qs&id=527
Учитывая данные сведения сделал:
# make buildworld TARGET_ARCH = amd64
Сборка, запустилась. Я не очень силён в команде make, но кажется можно было бы запустить и с параметром -j4, а для amd64 возможно и -j8 для увеличения производительности и скорости сборки.
Дальше переходим
Копируем ядро GENERIC для нужной нам платформы в удобное место в данном случае это ~/ # cp /usr/src/sys/amd64/conf/GENERIC ~/KERNEL_`date %d_%m_%Y` Идею с именем нового ядра подсказал
lissyara вот отсюда — http://www.lissyara.su/articles/freebsd/tuning/make_kernel/
Редактируем опции ядра при помощи любимого редактора, в моем случае это vi :)
# vi KERNEL_01_07_2010
Свой конф приводить думаю бессмысленно, могу только сказать, что ознакомится с дополнительными параметрами ядра можно в файле /usr/src/sys/amd64/conf/NOTES и в /usr/src/sys/NOTES — это если вы понимаете по-английски :) я же пользовался опять же Гуглом и http://www.freebsd.org/doc/ru/books/handbook/kernelconfig-config.html,
Собираем ядро
При сборки ядра make buildkernel TARGET_ARCH=amd64 KERNCONF=KERNEL_01_07_2010 выдал ошибку, после перезагрузки компьютера, я повторил попытку, но команда не сработала, тогда я решил пересобрать ядро с командой
# make buildkernel TARGET_ARCH=amd64
Эта команда прошла и запустилась компиляция ядра.
После компиляции запустил установку нового ядра и make выдал ошибку
Error: Please set DESTDIR
Установил DESTDIR:
# export DESTDIR=/usr/src/
Запустил
# make installkernel TARGET_ARCH=amd64
Вроде пошла установка, но выскачела опять ошибка:
cd: can’t cd to /usr/obj/amd64/usr/sys/GENERIC