KDE 3.5 Владимир Кемпик Section "Extensions" Option "Composite" "Enable" EndSection ------------------------------------------------------------------------------------------------------------------------------ Linux в Linux: симбиоз 32 и 64 битов Дмитрий Шевченко Листинг 1. Создание директории для Gentoo32 и распаковка Stage1 # mkdir /mnt/gentoo32 # cd /mnt/gentoo32 # wget -c http://distfiles.gentoo.org/releases/x86/2005.1-r1/stages/x86/stage1-x86-2005.1-r1.tar.bz2 # tar –xvjpf stage1-x86-2005.1-r1.tar.bz2 # cp -L /etc/resolv.conf /mnt/gentoo32/etc/ # cp -L /etc/passwd /mnt/gentoo32/etc/ Листинг 2. Монтирование виртуальных файловых систем # mount -o bind /dev /mnt/gentoo32/dev # mount -o bind /dev/pts /mnt/gentoo32/dev/pts # mount -o bind /dev/shm /mnt/gentoo32/dev/shm # mount -o bind /proc /mnt/gentoo32/proc # mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb # mount -o bind /sys /mnt/gentoo32/sys # mkdir -p /mnt/gentoo32/usr/portage/ # mount -o bind /usr/portage /mnt/gentoo32/usr/portage/ # mount -o bind /tmp /mnt/gentoo32/tmp # nano –w /mnt/gentoo32/etc/make.conf CFLAGS="-O2 -march=athlon-xp -msse2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CXXFLAGS="${CFLAGS}" ACCEPT_KEYWORDS="~x86 x86" AUTOCLEAN="yes" MAKEOPTS="-j2" LINGUAS="ru" CONFIG_PROTECT="-*" Листинг 3. Переход в 32-битный режим и сборка системы # linux32 chroot /mnt/gentoo32 /bin/bash # source /etc/profile # env-update # cd /usr/portage # scripts/bootstrap.sh # emerge –e system # nano -w /etc/init.d/gentoo32 #!/sbin/runscript depend() { need localmount need bootmisc } start() { ebegin "Mounting 32bits chroot dirs" mount -o bind /dev /mnt/gentoo32/dev >/dev/null & mount -o bind /dev/pts /mnt/gentoo32/dev/pts >/dev/null & mount -o bind /dev/shm /mnt/gentoo32/dev/shm >/dev/null & mount -o bind /proc /mnt/gentoo32/proc >/dev/null & mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb >/dev/null & mount -o bind /sys /mnt/gentoo32/sys >/dev/null & mount -o bind /tmp /mnt/gentoo32/tmp >/dev/null & mount -o bind /usr/portage /mnt/gentoo32/usr/portage/ >/dev/null & eend $? "An error occured while attempting to mount 32bit chroot directories" ebegin "Copying 32bits chroot files" cp -pf /etc/resolv.conf /mnt/gentoo32/etc >/dev/null & cp -pf /etc/passwd /mnt/gentoo32/etc >/dev/null & cp -pf /etc/shadow /mnt/gentoo32/etc >/dev/null & cp -pf /etc/group /mnt/gentoo32/etc >/dev/null & # cp -pf /etc/gshadow /mnt/gentoo32/etc >/dev/null & cp -pf /etc/hosts /mnt/gentoo32/etc > /dev/null & cp -Ppf /etc/localtime /mnt/gentoo32/etc >/dev/null & eend $? "An error occured while attempting to copy 32 bits chroot files." } stop() { ebegin "Unmounting 32bits chroot dirs" umount -f /mnt/gentoo32/dev/pts >/dev/null & umount -f /mnt/gentoo32/dev/shm >/dev/null & umount -f /mnt/gentoo32/dev >/dev/null & umount -f /mnt/gentoo32/proc/bus/usb >/dev/null & umount -f /mnt/gentoo32/proc >/dev/null & umount -f /mnt/gentoo32/sys >/dev/null & umount -f /mnt/gentoo32/tmp >/dev/null & umount -f /mnt/gentoo32/usr/portage/ >/dev/null & eend $? "An error occured while attempting to unmount 32bits chroot directories" } Листинг 4. Добавляем демон gentoo32 в автоматическую загрузку rc-update add gentoo32 default # nano –w /sbin/gentoo32 #!/bin/sh xhost local:localhost linux32 chroot /mnt/gentoo32 /bin/bash # chmod +x /sbin/gentoo32 # nano -w /mnt/gentoo32/root/.bashrc source /etc/profile env-update # gentoo32