From: Александр Неткачев <alex_mailbox53 at yahoo.com>
Date: Mon, 19 Aug 2004 14:31:37 +0000 (UTC)
Subject: Компактный сценарий установки Gentoo Linux 2004.2
Александр Неткачев alex_mailbox53@yahoo.com
12.08.2004
Хорошо, когда хорошо зарекомендовавшая себя команда разработчиков не
теряет темпа и продолжает выпускать новые версии своего продукта. Я
говорю о Gentoo Linux - замечательном Linux дистрибутиве, который с
одной стороны принуждает разобраться в настройках системы, что очень
интересно, а с другой - позволяет без лишних усилий установить все
необходимые приложения.
Добыв диски с Gentoo Linux 2004.2 я приступил к установке. В процессе
накопилось множество небольших заметок, которые я и объединил в один
большой сценарий.
Сценарий обсуждаем - все комментарии приветствуются. По мере
накопления вопросов я планирую добавлять комментарии к каждому пункту.
Если что не понятно - спрашивайте.
Для начала несколько замечаний: Gentoo ставится на Celeron-533, без
принтера, сканера и локальной сети, с обычным CD ROM Drive. Видеокарта
- GeForce2. Есть модем и flash-drive. Первый раздел жесткого диска
зарезервирован для Win. Далее три раздела - boot, swap и основной
linux раздел в reiserfs. Ставятся ядра Gentoo linux 2.4 и 2.6.
Основной род занятий - разработка ПО на PHP, возня с Linux и печатная
машинка. Поэтому из дополнительных пакетов ставится vim и OpenOffice.
Локаль - en_US.utf8.
Недостатки этого документа (в общем, TODO list): Пока не выложил
конфиги ядер и ссылка на /usr/src/linux не меняется автоматически во
время загрузки соответствующего ядра. Еще планируется добавить пару
строчек о добавлении проверки русской орфографии в OpenOffice и
установке англо-русского словаря. Также наблюдаются небольшие проблемы
с использованием текущей версии /etc/fstab с ядром 2.6 - при
монтировании пользователем /dev/sda1 права на файлы выставляются не
так, как хотелось-бы.
Ну да это я знаю как решить. А вот то, что не знаю: в процессе работы
KDE в .xsession-errors появляется множество ошибок вида "QPixmap:
Cannot create a QPixmap when no GUI is being used" и "kdecore
(KIconLoader): WARNING: Icon directory ... not valid". На работе KDE
это не сказывается, но хотелось бы исправить :-).
Для тех, кто уже работал с Gentoo прошлых версий и сомневается,
ставить или нет - несколько замечаний о изменениях 2004, с которыми я
столкнулся непосредственно во время установки.
* Вместо XFree86 используется X.org.
* В gpm исправленна столь надоедающая мне бага со сбоем работы мышки
после переключения из X.
* Нормальная работа скриптов загрузки с linux 2.6.
* Исправлена бага, из-за которой приходилось ровнять init cкрипт
очищения tmp (xargs: environment too large).
Как видно, грабель поубирали много. Новых, конечно понаделали, но пока
они не очень заметны.
Итак, этап первый - загрузка и установка системы.
-------------------------------------------------
Вставляем загрузочный universal CD и грузимся. После загрузки:
# passwd root
// enter password
// go to vc/5
// login as root
# links /mnt/cdrom/docs/html/index.html
// go to vc/1
# mkswap /dev/hda3
# swapon /dev/hda3
# mount /dev/hda4 /mnt/gentoo
# mount /dev/hda2 /mnt/gentoo/boot
# mount -t proc none /mnt/gentoo/proc
# cd /mnt/gentoo
# for i in bin dev etc home lib mnt opt root sbin sys tmp usr var
do
mv $i backup/system3
done
# tar -xjpf /mnt/cdrom/stages/stage3-i686-2004.2.tar.bz2
# tar -xjf /mnt/cdrom/snapshots/portage-20040710.tar.bz2 -C /mnt/gentoo/usr
# mkdir /mnt/gentoo/usr/portage/distfiles
# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/
# vim /mnt/gentoo/etc/make.conf
CFLAGS="-O2 -pipe -mcpu=i686 -fomit-frame-pointer"
MAKEOPTS="-j2"
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# ln -sf /usr/share/zoneinfo/Europe/Simferopol /etc/localtime
# USE="-doc" emerge gentoo-dev-sources
# cd /usr/src/linux
# make menuconfig
// TODO: link to my config
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/kernel-2.6.7-gentoo-r11
# cp System.map /boot/System.map-2.6.7-gentoo-r11
# cp .config /boot/config-2.6.7-gentoo-r11
# emerge nvidia-kernel
# emerge gentoo-sources
# cd /usr/src && rm linux && ln -s linux-2.4.26-gentoo-r6 linux && cd linux
# make menuconfig
// TODO: link to my config
# make dep && make bzImage modules modules_install
# cp arch/i386/boot/bzImage /boot/kernel-2.4.26-gentoo-r6
# cp System.map /boot/System.map-2.4.26-gentoo-r6
# cp .config /boot/config-2.4.26-gentoo-r6
# emerge nvidia-kernel
# cd /usr/src && rm linux && ln -s linux-2.6.7-gentoo-r11 linux
# vim /etc/X11/xorg.conf
uncomment glx module
add 'Option "ZAxisMapping" "4 5"' into the InputDevice sectio for mouse
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll,altwin:menu"
PS/2 to IMPS/2
# cd /usr/share/fonts/
# mkdir WinTTF
# mkdir /mnt/win && mount /mnt/win
# cp /mnt/win/WINNT/Fonts/*.ttf /usr/share/fonts/WinTTF
# cd WinTTF
# chmod 444 *
# ttmkfdir > fonts.scale
# mkfontdir
# vim /etc/X11/xorg.conf
FontPath "/usr/share/fonts/WinTTF/"
$ xset fp rehash
$ oopadmin
add fonts from /usr/share/fonts/WinTTF/
# emerge rp-pppoe
Modem initialization string: AT *NC25 Z
# emerge -K apache
# rc-update add apache2 default
# vim /etc/apache2/conf/apache2.conf
ServerName localhost
# vim /etc/hosts
127.0.0.1 home
# ln -s /usr/doc/apache-2.0.50/manual /var/www/localhost/htdocs/manual
# vim /etc/env.d/02locale
LC_ALL=""
LANG="en_US.utf8"
# env-update
# vim /etc/rc.conf
SET_WINDOWKEYS="yes"
#CONSOLEFONT="ter-c14f"
CONSOLEFONT="LatArCyrHeb-14"
KEYMAP="-u ru"
CLOCK="local"
EDITOR="/usr/bin/vim"
# vim /etc/init.d/unicyr
//Взят со странички http://dev.gentoo.org/~sergey/unicode-guide.html
//очень давно. Сейчас там обновленный вариант, который я попробую
//использовать чуть позже.
checkconfig() {
if [ -z "${KEYMAP}" ]
then
eerror "You need to setup $KEYMAP in /etc/rc.conf first"
return 1
fi
if [ -z "${CONSOLEFONT}" ]
then
eerror "You need to setup $CONSOLEFONT in /etc/rc.conf first"
return 1
fi
}
start() {
# Check the correctness of the configuration
checkconfig || return 1
local retval=1
if [ -x /usr/bin/consolechars ]
then
# It is better to not use consoletools
eend 1 "This script does not work prperly with consoletools"
return 1
elif [ -x /usr/bin/setfont ]
then
ebegin "Swithcing all terminals to unicode mode"
# Switch all consoles to UNICODE mode
for x in 1 2 3 4 5 6 7 8 9 10
do
# Using DEVFS ?
if [ -e /dev/.devfsd ]
then
echo -ne "