блог-форум о программировании

Вы не вошли.


Deprecated: Function create_function() is deprecated in /home/user2058794/www/majestio.info/include/class/geshi.php on line 4698

#1 2017-11-21 00:55:03

Majestio
Администратор
Здесь с 2017-11-17
Сообщений: 73
Windows 10Firefox 57.0

Gentoo = Установка и настройка Linux Gentoo под VMWare (ext4)


Gentoo = Установка и настройка Linux Gentoo под VMWare (ext4)


Установка боевой тестовой площадки. Большая часть установки из официальных доков. Остальное - с миру по нитке. Делаю дабы собрать все воедино, и потом не искать, если понадобится еще раз. Речь идет об установках x32/x64-версии. Ставилось все это хозяйство - 5 декабря 2013 года. Использовались "install-amd64-minimal-20131226.iso" и "stage3-amd64-20131226.tar.bz2". Версия x32 не тестировалась. Хотя, по идее, все должно быть, кроме grub''а - по этому шаблону.

Hint: Если в Firefox нажать [F7] - появится мигающий курсор, с помощью которого можно будет выделять клавиатурой нужные команды, потом копипастить их в окошко PuTTY.

1) Настраиваем сеть, запускаем SSH
$ net-setup eth0
$ time /etc/init.d/sshd start
$ passwd
2) Самое время запустить Putty3) Размечаем диск
$ cfdisk /dev/sda

По типу:

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          12       96358+  83  Linux
/dev/sda2              13         110      787185   82  Linux swap / Solaris
/dev/sda3             111       72943   585031072+  83  Linux

Форматируем и монтируем:

$ mkfs.ext2 /dev/sda1
$ mkfs.ext4 /dev/sda3
$ mkswap /dev/sda2 && swapon /dev/sda2
$ mount /dev/sda3 /mnt/gentoo
$ mkdir /mnt/gentoo/boot
$ mount /dev/sda1 /mnt/gentoo/boot
$ cd /mnt/gentoo
4) Установка времени, даты, скачивание з-й стадии, разархивирование
$ date 030600162006 ::::: Format is MMDDhhmmYYYY
$ #  ------------ или ваш FTP и нужная архитектура:
$ wget ftp: //distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2  
$ time tar xjpf stage3*
5) Chroot
$ cd /
$ mount -t proc proc /mnt/gentoo/proc
$ mount --rbind /dev /mnt/gentoo/dev
$ mount --rbind /sys /mnt/gentoo/sys
$ cp -L /etc/resolv.conf /mnt/gentoo/etc/ 
$ chroot /mnt/gentoo /bin/bash
$ source /etc/profile
6) Качаем портежи
$ mkdir /usr/portage
$ emerge-webrsync
7) Выставляем временную зону
$ ls /usr/share/zoneinfo
$ cp /usr/share/zoneinfo/Europe/Minsk /etc/localtime
$ echo "Europe/Minsk" > /etc/timezone
8) Выбираем вид установки
$ eselect profile list
$ eselect profile set 5
9) Установка hostname
$ cd /etc
$ echo "127.0.0.1 gentoo-x64.my gentoo-x64 localhost" > hosts
$ sed -i -e ''s/hostname.*/hostname="gentoo-x64"/'' conf.d/hostname
$ hostname gentoo-x64
$ hostname -f
gentoo-x64.my
10) Качаем ядро, distfiles (если раньше выкачивали)

При конфигурации ядра предусмотреть это (и не забыть про UTF8, дрова сетевой карты, VMWare и пр.) :

[*] 64-bit kernel (leave blank for x86) 
General setup  --->
    [*] Support for paging of anonymous memory (swap)
    [*] Auditing support
    [*]   Enable system-call auditing support
    [ ] Enable deprecated sysfs features to support old userspace tools
    [*] Enable signalfd() system call
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support (/usr/share/v86d/initramfs) Initramfs source file(s)
    [*] Optimize very unlikely/likely branches 
Processor type and features --->
  Processor Family (usually Core2/Newer Xeon) 
Bus Options --->
  < > PCCard (PCMCIA/Cardbus) support 
Enable the block layer  --->
    [*] Block layer SG support v4
Networking support  --->
    [ ] Amateur Radio support
    [ ] Wireless (only if you plan on using nat EXCLUSIVELY) 
    Networking options  --->
        <*> Unix domain sockets
Device Drivers  --->
    <*>   Connector - unified userspace <-> kernelspace linker  --->
    Generic Driver Options  --->
        ()  path to uevent helper
        [*] Maintain a devtmpfs filesystem to mount at /dev
    < > ATA/ATAPI/MFM/RLL support (DEPRECATED)  --->
    Misc Devices --->
        [*] VMware Balloon Driver (manages memory between VM and host)
        [*] VMware VMCI Driver (Virtual Machine Communication Interface - low-latency access to host memory bus)
    SCSI device support --->
        [*] SCSI low-level drivers --->
           <*> VMware PVSCSI driver support (high throughput storage adapter)
    [*] Fusion MPT device support --->
        <*> Fusion MPT ScsiHost drivers for SPI 
    USB support  --->
        [ ] USB Printer support
    [*] USB support (USB_SUPPORT [=y])
       Support for Host-side USB (USB [=y])
        [*]  USB runtime power management (autosuspend) and wakeup
    [*] Network device support ---> 
        [*] Ethernet driver support --->
            (disable every driver but this)
           [*] AMD Devices
           <*> AMD PCNet32 PCI support
       [ ] Wireless LAN (ONLY if you disabled Wireless networking support above)
       < > VMware VMXNET3 ethernet driver (PCNet32 is more than enough for most use cases - enable this only if you have spare cpu cycles
    Graphics support --->
       <*> Userspace VESA VGA graphics support
       <*> Direct Rendering Manager
       < > Intel 8xx/9xx/G3x/G4x/HD Graphics
       <*> DRM driver for VMware Virtual GPU
           [*] Enable framebuffer console support under vmwgfx by default
       <*> Support for frame buffer devices
             <> Enable Tile Blitting Support

       Console display driver support --->
           <*> Framebuffer Console support
           <*> Support for the Framebuffer Console Decorations

       Sound card support --->
           <*> Advanced Linux Sound Architecture --->
               [*] PCI sound devices
                 <*> (Creative) Ensoniq AudioPCI 1371/1373
                 < > Intel HD Audio 
    File systems  --->
       [*] Inotify support for userspace
       Pseudo filesystems --->
          [*] Tmpfs virtual memory file system support (former shm fs)
             [*] Tmpfs POSIX Access Control Lists
          [*] /proc file system support
          [*] sysfs file system support
          Native Language Support -->
             <*> NLS UTF8
          -*- Tmpfs virtual memory file system support (former shm fs)
          [*]   Tmpfs POSIX Access Control Lists
       <*> Second extended fs support
       <*> The Extended 4 (ext4) filesystem
       <*> XFS filesystem support
       <*> Btrfs filesystem Unstable disk format 
Power management and ACPI options->
   [*] Run-time PM core functionality  PM_RUNTIME
$ time emerge gentoo-sources
$ cd /usr/portage/distfiles
$ wget ftp:// ваш_фтп/каталог/*
$ cd /usr/src/linux
$ make menuconfig
$ time make -j2
$ make modules_install
$ cp arch/x86/boot/bzImage /boot/kernel
11) Настраиваем сеть

... бывает переименование udev''ом eth0 в нечто типа: enp2s1 (почитать тут)

$ cd /etc/init.d
$ ln -s net.lo net.enp2s1
$ cd ../conf.d
$ echo ''config_enp2s1="192.168.1.130 netmask 255.255.255.0 brd 192.168.1.255"'' >> net
$ echo ''routes_enp2s1="default via 192.168.1.1"'' >> net
$ echo ''hostname="gentoo-x64"'' > hostname
$ rc-update add net.enp2s1 default
$ echo ''modules="r8169"'' >> /etc/conf.d/modules  <-- если нужна загрузка модуля
$ rc-update add sshd default
$ passwd
12) Добавляем необходимые пакеты для фрэймбуффера
$ time emerge -av klibc
$ time emerge -av v86d
13) Настраиваем syslog, cron и grub
$ time emerge syslog-ng vixie-cron
$ rc-update add syslog-ng default
$ rc-update add vixie-cron default
$ time emerge grub <---- для x64 ставим grub-static
$ nano -w /boot/grub/grub.conf

Делаем следующие настройки:

default 0
timeout 10

title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda3 video=uvesafb:mtrr:3,ywrap,1024x768-24@60

Потом настройка и перезагрузка:

$ grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
$ exit
$ umount -l /mnt/gentoo/dev{/shm,/pts,}
$ umount -l /mnt/gentoo{/proc,/boot,/sys,}
$ reboot
14) Подправим /etc/portage/make.conf для более быстрой выкачки и сборки (добавим строчки)
$ echo ''FEATURES="${FEATURES} parallel-fetch"'' >> /etc/portage/make.conf
$ echo ''MAKEOPTS="-j7"'' >> /etc/portage/make.conf   <---- для 6-х ядерного проца
15) Заменим GCC на более свежую версию (на 4.8.2)
$ # вместо 4.8.2 - ваша версия
$ emerge -uav =sys-devel/gcc-4.8.2 --autounmask-write
$ find /etc/portage -name *_package.accept_keywords -exec cat {} >> /etc/portage/package.accept_keywords \\;
$ rm /etc/portage/._*_package.accept_keywords
$ emerge -uav gcc
$ gcc-config x86_64-pc-linux-gnu-4.8.2  <-- ну очень внимательно смотрим на конфигурацию! символ "х" имеет значение!
$ source /etc/profile
$ emerge --oneshot -av libtool
$ emerge --oneshot sys-libs/libstdc++-v3
$ emerge -e system
$ emerge -e world
$ emerge -aC =sys-devel/gcc-4.7*
16) Установим MC
$ emerge app-misc/mc
17) Ставим Искы и KDE4

В /etc/portage/make.conf добавим флаг

USE="... dbus policykit consolekit udev udisks X acl pam unicode ..."
LINGUAS="ru"
$ emerge sys-apps/dbus
$ rc-update add dbus default
$ emerge sys-auth/consolekit
$ rc-update add consolekit default
$ emerge sys-auth/polkit
$ emerge sys-fs/udev
$ rc-update add udev sysinit
$ emerge sys-fs/udisks
$ emerge --autounmask-write x11-base/xorg-x11
# --- в следующей команде нажимаем "u"
$ dispatch-conf
$ emerge x11-base/xorg-x11
$ emerge x11-drivers/xf86-input-vmmouse
$ emerge x11-drivers/xf86-video-vmware
$ emerge kde-base/kdebase-startkde
$ emerge kde-l10n
$ echo exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startkde > ~/.xinitrc
18) Правим локаль, ставим нужные шрифты, утилиты работы с портежами
$ cd ~
$ emerge terminus-font freefonts cronyx-fonts corefonts
# --- точная копия шрифта OS/2, ностальжи :)
$ wget http:// majestio.info/soft/oz18x08utf.pcf.tar.bz2
$ mkdir /usr/share/fonts/oz
$ tar xjf oz18x08utf.pcf.tar.bz2
$ mv oz18x08utf.pcf /usr/share/fonts/oz/
$ mkfontdir /usr/share/fonts/oz
# --- под иксами --- xset fp+ /usr/share/fonts/oz
# --- под иксами --- xset fp rehash
$ echo LANG="ru_RU.UTF-8" > /etc/env.d/02locale
$ env-update
$ source /etc/profile
# --- вписываем consolefont="cyr-sun16"
$ nano -w /etc/conf.d/consolefont
# --- вписываем keymap="ruwin_ct_sh-UTF-8" , dumpkeys_charset="koi8-r"
$ nano -w /etc/conf.d/keymaps
$ rc-update add keymaps default
$ rc-update add consolefont default
$ emerge -uDN kde-l10n
$ emerge eix
$ emerge gentoolkit
$ emerge app-portage/emerge-delta-webrsync
$ emerge konsole
$ emerge konqueror
$ emerge e2fsprogs
$ emerge scrub

Переключение "рус/лат" в системной консоли через "LCtrl+Shift".

Примечание: для того, чтобы окно X/Kde масштабировалось под размер окна VMWare - можно попытаться поставить VMWare Tools. Поскольку ядро 3.X, а VMWare Tools рассчитан на 2.6, нужна вот такая правка перед сборкой (cppmm, спасибо за подсказку!):

$ ln -s /usr/src/linux/include/generated/uapi/linux/version.h /usr/src/linux/include/linux/version.h
$ mkdir -p /etc/rc.d/rc{0,1,2,3,4,5,6}.d
$ mkdir /mnt/cdrom
$ mount -t iso9660 /dev/cdrom /mnt/cdrom

Сборка VMWare Tools пройдет с многочисленными ошибками, но какая-то чать собранного все же заработает - и появится эффект подстройки десктопа KDE под текущие размеры окна VMWare.

19) Очистка системы и обновление мира
$ ntpdate -v -b in.pool.ntp.org
$ eix-sync -W 
$ # внимательно читаем!
$ emerge -auDNv --with-bdeps=y @world
$ emerge @preserved-rebuild
$ emerge --update --newuse --deep @world
$ emerge -av --depclean
$ eclean-dist
20) Добавляем пользователя с правами на su
$ useradd -m -G users,audio,wheel <имя пользователя>
$ passwd <имя пользователя>
21) Дефрагментация и очистка свободного места
$ e4defrag /dev/sda3
$ scrub -X /root/scrub -p fillzero
22) Бэкапимся!
$ shutdown -Ph now

Закрываем VMWare, заходим в каталог с только что выключенной виртуальной машиной, прибиваем *.log-и, и жмем этот каталог в архив, например 7z-ом по алгоритму LZMA. Стартовая площадка готова.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.282 сек, 7 запросов выполнено - Использовано памяти: 2.24 Мбайт (Пик: 2.71 Мбайт) ]