Ключевые слова:gentoo, linux, install, boot, tune, (найти похожие документы)
From: Александр Неткачев <alex_mailbox53 at yahoo.com>
Date: Mon, 19 Aug 2004 14:31:37 +0000 (UTC)
Subject: Компактный сценарий установки Gentoo Linux 2004.2
Оригинал: http://devlink.crimea.ua/articles/article.php?article_id=26
Компактный сценарий установки 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
# nano -w /etc/fstab
/dev/hda2 /boot ext2 noauto,noatime 1 1
/dev/hda4 / reiserfs noatime,notail 0 0
/dev/hda3 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro,user 0 0
/dev/hda1 /mnt/win ntfs noauto,user,ro,noexec,nosuid,nodev,uid=alex 0 0
/dev/sda1 /mnt/flash vfat iocharset=utf8,noauto,user,rw,noexec,nosuid,nodev,dmask=777,fmask=666 0 0
/dev/fd0 /mnt/floppy auto noauto,user 0 0
# echo home > /etc/hostname
# echo homenetwork > /etc/dnsdomainname
# rc-update add domainname default
# nano -w /etc/rc.conf
CLOCK="local"
# emerge grub
# grub
root (hd0,1)
setup (hd0)
quit
# nano -w /boot/grub/grub.conf
default 0
timeout 10
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
title=Gentoo Linux (2.6.7-gentoo-r11)
root (hd0,1)
kernel (hd0,1)/boot/kernel-2.6.7-gentoo-r11 root=/dev/hda4 vga=0x305 acpi=force
title=Gentoo Linux (2.4.26-gentoo-r6)
root (ht0,1)
kernel (hd0,1)/boot/kernel-2.4.26-gentoo-r6 root=/dev/hda4 vga=0x305 acpi=force
title=Windows 2000
root (hd0,0)
chainloader (hd0,0)+1
# cd /
# emerge vixie-cron
# rc-update add vixie-cron default
# emerge reiserfsprogs
# passwd
// enter the root password
# useradd alex -m -G users,wheel,audio,tty -s /bin/bash
# passwd alex
// enter the password
# exit
# cd /
# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
# reboot
Этап второй - установка нужных и не очень программ
--------------------------------------------------
// login
# emerge gpm
# nano -w /etc/env.d/gpm
MOUSE=imps2
MOUSEDEV=/dev/psaux
# USE="bindist" emerge --usepkg kde
# find /etc -iname '._cfg????_*'
# mv /etc/fonts/._cfg0000_fonts.conf /etc/fonts/fonts.conf
# ebuild /var/db/pkg/dev-db/mysql-4.0.20/mysql-4.0.20.ebuild config
# /etc/init.d/mysql start
# /usr/bin/mysqladmin -u root password '******'
# nano -w ~/.xpdfrc
include /etc/xpdfrc
t1libControl high
freetypeControl high
# /usr/X11R6/bin/xorgconfig
# nano -w /etc/rc.conf
DISPLAYMANAGER="kdm"
XSESSION="kde-3.2"
# rc-update add xdm default
# USE="bindist" emerge -K vim
# 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
//очень давно. Сейчас там обновленный вариант, который я попробую
//использовать чуть позже.
####################################################################
#!/sbin/runscript
depend() {
need localmount
}
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 "\033%G" > /dev/vc/${x}
retval=$?
else
echo -ne "\033%G" > /dev/tty${x}
retval=$?
fi
done
else
# Looks like we even have not kbd
eend 1 "The setfont/consolechars executable not found"
return 1
fi
eend $retval "Failed to set user font"
if [ -x /bin/loadkeys ]
then
ebegin "Converting keyboard layout to unicode"
[ -z "${EXTENDED_KEYMAP}" ] && local EXTENDED_KEYMAP="windowkeys"
# Load keyman as it is (it is required in the case of restarting service)
/bin/loadkeys -q ${EXTENDED_KEYMAP} ${KEYMAP} >/dev/null
# Convert the keymap and load it as unicode
dumpkeys -c koi8-r | loadkeys -u &>/dev/null
# Old console-tools support ...
elif [ -x /usr/bin/loadkeys ]
then
eend 1 "Sorry, this version of loadkeys is not supported."
return 1
else
eend 1 "loadkeys executable not found"
return 1
fi
eend $? "Error loading key mappings"
return $retval
}
# vim:ts=4
##########################################
# chmod u+rwx,g+rx-w,o+rx-w /etc/init.d/unicyr
# rc-update add unicyr boot
# /etc/init.d/unicyr start
# cp /backup/system3/usr/portage/distfiles/other/php-5.0.0.tar.bz2 /usr/portage/distfiles/
# md5sum /usr/portage/distfiles/php-5.0.0.tar.bz2
562b7ad1e903248bbe77884cb904b8b7 php-5.0.0.tar.bz2
# ls -al php-5.0.0.tar.bz2
-rwxr--r-- 1 root root 4554054 Aug 8 12:31 /usr/portage/distfiles/php-5.0.0.tar.bz2
# vim /usr/portage/dev-php/mod_php/files/digest-mod_php-5.0.0
MD5 562b7ad1e903248bbe77884cb904b8b7 php-5.0.0.tar.bz2 4554054
# vim /usr/portage/dev-php/php/files/digest-php-5.0.0
MD5 562b7ad1e903248bbe77884cb904b8b7 php-5.0.0.tar.bz2 4554054
# vim /usr/portage/dev-php/mod_php/mod_php-5.0.0.ebuild
// remove RC3
# USE="bindist" emerge -K curl
# USE="-gdbm -truetype -spell xsl -mysql mysqli -imap -crypt -tidy" emerge /usr/portage/dev-php/mod_php/mod_php-5.0.0.ebuild
# vim /etc/conf.d/apache2
APACHE2_OPTS="-D PHP5"
# rc-update add apache2 default
# vim /usr/lib/apache2/conf/modules.d/70_mod_php5.conf
replace extramodules with modules
# emerge /usr/portage/dev-php/PEAR-PhpDocumentor/PEAR-PhpDocumentor-1.3.0_rc3.ebuild
# emerge ccache
Усе! Если дошли до этого момента - поздравляю. Теперь у Вас есть
замечательная система. Если я что забыл - пишите - добавлю.
Просто # mount -t proc none /mnt/gentoo/proc
надо делать после распаковки stages, так даже в мане по установке написано, на www.gentoo.org, причём по-русски... :-)
Вообще-то пофигу до или после распаковки Stage монтировать none (ничто) в /mnt/gentoo/proc (если конечно самому позаботиться о создании в разделе mkdir /mnt/gentoo/proc ;-) ну и конечно же дать нужные права=)