RU EN

Компиляция ядра Debian

 

Устанавливаем переменные окружения для компиляции с оптимизирующими ключами:

export CHOST='x86_64-pc-linux-gnu'
export CFLAGS="-O3 -march=k8-sse3 -fomit-frame-pointer -pipe"
export CXXFLAGS="-O3 -march=k8-sse3 -fomit-frame-pointer -pipe"

# Установка необходимых пакетов:
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

ВНИМАНИЕ! Указанные выше ключи только для процессоров AMD Athlon 64 X2! Подробнее об оптимизирующих ключах: ключи gcc компилятора, безопасные ключи для AMD. Далее скачиваем исходники:

wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.1.5.tar.bz2
tar jxf linux-3.1.5.tar.bz2
cd linux-3.1.5 

Конфигурируем и компилируем ядро:

cp /boot/config-`uname -r` ./.config
make menuconfig
fakeroot make-kpkg --revision=1.0.Custom --initrd kernel_image kernel_headers

Устанавливаем ядро и перезагружаемся:

dpkg -i ../*.deb
reboot
Комментариев: 0
11.12.2011 23:48


Как добавить Ubuntu PPA в Debian

 

Если понадобилось установить какой-нибудь пакет из Ubuntu в Debian, самый простой способ - сделать это через репозиторий Ubuntu. Для начала нужно убедиться, что нужный пакет совместим с Debian. Ищем информацию о зависимостях пакета и необходимых версиях компонентов по ссылке. Затем с помощью команды убеждаемся, что нужные версии всех зависимостей присутствуют в Debian:

sudo apt-cache search <package_name>

Затем устанавливаем все зависимости:

sudo aptitude install <package_name> [<package_name>] ...

Далее добавляем PPA. Но сначала нужно достать ключ для дистрибутива Ubuntu. Обычно его можно найти в описании самого PPA:

Signing key:
1024R/2A2356C9
  (What is this?)
Fingerprint:
7A4AF09AB1802509C26153211EBA3D372A2356C9

Нам нужен ключ - 2A2356C9. Далее вводим:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2A2356C9

Осталось только добавить в /etc/apt/sources.list нужный PPA и сделать:

sudo apt-get update
Комментариев: 0
11.12.2011 22:53


Git push error: [remote rejected] master -> master

 

Полный текст ошибки:

user@host:~/Progect/www$ git push
Counting objects: 13, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 636 bytes, done.
Total 7 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error: 
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To /Progect/www
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to '/Progects/git'

Чтобы исправить ошибку войдите с папку с origin репозиторием и введите команду:

git config --bool core.bare true

После этого в origin можно удалить все файлы, кроме папки .git.

Комментариев: 0
11.12.2011 21:35


Компиляция ядра OpenBSD для AMD K8

 

Получение исходников

От того, какая ветка ядра будет использоваться для компиляции ( current или stabile ), а так же в зависимости от того нужно исходники обновить, или скачать с нуля, будут использоваться различные команды:

Скачиваем current "с нуля":

cd /usr
cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src

Скачиваем stable "с нуля":

cd /usr
cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_4_9 -P src

Обновляем current:

cd /usr/src
cvs -q up -Pd

Обновляем stable:

cd /usr/src
cvs -q up -rOPENBSD_4_9 -Pd

ВАЖНО! Если обновляемые исходники были получены с другого сервера или с CD, в команду обновления необходимо добавить параметр "-d anoncvs@anoncvs.ca.openbsd.org:/cvs":

cd /usr/src
cvs -d anoncvs@anoncvs.ca.openbsd.org:/cvs -q up -Pd

 

 Добавление оптимизирующих ключей в Makefile

Подробнее об оптимизирующих ключах: ключи gcc компилятора, безопасные ключи для AMD.

cd /usr/src/sys/arch/amd64/conf
config GENERIC.MP
cd ../compile/GENERIC.MP
nano Makefile

В файле комментируем переменную CMACHFLAGS и добавляем свой вариант ключей:

#CMACHFLAGS= -mcmodel=kernel -mno-red-zone -mno-sse2 -mno-sse \
             -mno-3dnow -mno-mmx -msoft-float -fno-omit-frame-pointer
CMACHFLAGS= -mcmodel=kernel -msse2 -msse -m3dnow -mmmx \
            -msoft-float -fomit-frame-pointer -mno-red-zone

 

Компилируем и устанавливаем ядро

# Чтобы отключить вывод можно использовать:
# make clean && make depend 1>/dev/null && make 1>/dev/null
make clean && make depend && make
make install
reboot

Компилируем userland

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

# Очищаем /usr/obj директорию и ребилдим ссылки:
rm -rf /usr/obj/*
cd /usr/src
make obj

# Убеждаемся, что все необходимые директории созданы:
cd /usr/src/etc && env DESTDIR=/ make distrib-dirs

# Компилируем:
cd /usr/src
make build

Либо можно сделать это всё вот так (silent userland rebuild):

rm -rf /usr/obj/* 1>/dev/null && cd /usr/src && make obj 1>/dev/null \
&& cd /usr/src/etc && env DESTDIR=/ make distrib-dirs \
&& cd /usr/src && make build 1>/dev/null
Комментариев: 0
16.10.2011 18:27


Backspace в Firefox на ubuntu

 

Из-за старого бага, который давно уже был исправлен, разработчики отключили клавишу Backspace в Firefox для некоторых дистрибутивов Linux. Сам столкнулся с этим на Xubuntu 11.04. Исправить баг можно следующим образом:

Зайти на страницу конфигурации Firefox (набрать в адресной строке about:config), найти параметр browser.backspace_action и установить его значение на 0.

Комментариев: 0
01.10.2011 09:32