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

Вы не вошли.


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

#1 2017-11-21 00:59:51

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

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


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



Очередная установка боевой тестовой площадки. На сей раз заинтересовался дистрибутивом Funtoo. По утверждениям разработчиков сей дистрибут впитывает все вкусности Linux Gentoo, но еще и позволяет хорошую оптимизацию и подстройку под оборудование. Ну и ... для пущего максимализма - попробуем все зто поставить под ZFS. Без понятия что получится ... :)
Hint: Если в Firefox нажать [F7] - появится мигающий курсор, с помощью которого можно будет выделять клавиатурой нужные команды, потом копипастить их в окошко PuTTY.

0) Качаем образ

Из "http://ftp.osuosl.org/pub/funtoo/distfi … _zfs_*.iso"

wget http://ftp.osuosl.org/pub/funtoo/distfiles/sysresccd/sysresccd-4.5.2_zfs_0.6.4.iso
1) Настраиваем сеть, запускаем SSH

Если получение IP-адреса по DHCP вас устраивает, то ручную настройку сети пропускаем. У меня же адресам, выданным по DHCP режется скорость шейпером на маршрутизаторе, а мне для настройки это совсем не в тему. Поэтому я при запуске из образа выбираю вариант "gentoo nodhcp". После загрузки запускаю ifconfig, смотрю название сетевого интерфейса и настраиваю его:

# # - - - ручная настройка сети
$ ifconfig eno16777736 inet 192.168.1.18 netmask 255.255.255.0 broadcast 192.168.1.255
$ route add default gw 192.168.1.1
$ echo "nameserver 192.168.1.1" > /etc/resolv.conf
# # - - - запуск SSH-сервера
$ time /etc/init.d/sshd start
$ passwd
2) Самое время запустить Putty3) Размечаем диск
$ sgdisk -Z /dev/sda
$ sgdisk --new=1:0:250M -t 8300 -c 1:"Linux filesystem" /dev/sda
$ sgdisk --new=2:0:+32M -t 2:EF02 -c 2:"BIOS boot partition" /dev/sda
$ sgdisk --new=3:0:-0 -t 3:BF00 -c 3:"Solaris root" /dev/sda

Должно получится нечто подобное:

root@sysresccd /root % sgdisk -p /dev/sda
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B5CBDDF3-0BE8-4F01-BDEC-DBE62C8FE03E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 4061 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          512000   249.0 MiB   8300  Linux filesystem
   2          514048          579583   32.0 MiB    EF02  BIOS boot partition
   3          579584        83886046   39.7 GiB    BF00  Solaris root

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

$ mkfs.ext2 -m 1 /dev/sda1
$ zpool create -f -o ashift=12 -o cachefile=/tmp/zpool.cache -O normalization=formD -m none -R /mnt/funtoo tank /dev/sda3 
$ zfs create -p tank/funtoo
$ zfs create -o mountpoint=/ tank/funtoo/root
$ zfs create -o mountpoint=/home tank/funtoo/home
$ zfs create -o mountpoint=/usr/src tank/funtoo/src
$ zfs create -o mountpoint=/usr/portage -o compression=off tank/funtoo/portage
$ zfs create -o mountpoint=/usr/portage/distfiles tank/funtoo/portage/distfiles
$ zfs create -o mountpoint=/usr/portage/packages tank/funtoo/portage/packages
$ cd /mnt/funtoo
$ mkdir boot
$ mount /dev/sda1 boot
4) Установка времени, даты, скачивание з-й стадии, разархивирование
$ hwclock --systohc
$ cd /mnt/funtoo
$ wget http://build.funtoo.org/funtoo-stable/pure64/intel64-ivybridge-pure64/2015-06-03/stage3-intel64-ivybridge-pure64-funtoo-stable-2015-06-03.tar.xz
$ tar xpf stage3-intel64-ivybridge-pure64-funtoo-stable-2015-06-03.tar.xz
5) Chroot
$ mount -t proc none proc
$ mount --rbind /dev dev
$ mount --rbind /sys sys
$ cp -f /etc/resolv.conf etc
$ mkdir etc/zfs
$ cp /tmp/zpool.cache etc/zfs
$ env -i HOME=/root TERM=$TERM chroot . bash -l
6) Качаем и устанавливаем портежи
$ cd /usr
$ wget http://ftp.osuosl.org/pub/funtoo/funtoo-current/snapshots/portage-latest.tar.xz
$ tar xf portage-latest.tar.xz 
$ rm portage-latest.tar.xz
$ cd /usr/portage
$ git checkout funtoo.org
$ emerge --sync
$ emerge -auDN @world
7) Редактируем /etc/fstab

Нужно привести к виду:

# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>
/dev/sda1               /boot           ext2            defaults        0 2
$ nano -w /etc/fstab
8) Строим ядро, initramfs и настраиваем grub для работы с zfs

Сперва правим /etc/portage/make.conf, у меня Core i7, в VMWare я "передал" 2 процессора по 2 ядра:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core-avx-i -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CPU_FLAGS="avx aes mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
CPU_FLAGS_X86="avx aes mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
MAKEOPTS="-j5"
ACCEPT_KEYWORDS="~amd64"

Далее ...

$ emerge genkernel
$ genkernel kernel --no-clean --no-mountboot
$ emerge zfs --autounmask-write
$ cd /etc/portage
$ mv .*_package.accept_keywords package.accept_keywords
$ cd /usr/portage
$ zpool status
$ zfs list
$ grep -v rootfs /proc/mounts > /etc/mtab
$ rc-update add zfs boot
$ echo "sys-boot/grub libzfs -truetype" >> /etc/portage/package.use
$ emerge grub
$ grub-install /dev/sda
$ echo "sys-kernel/genkernel zfs" >> /etc/portage/package.use
$ emerge genkernel
$ genkernel all --zfs --no-clean --no-mountboot --callback="emerge @module-rebuild"

Правим /etc/boot.conf (версии смареть самостоятельно)

"Funtoo ZFS" {
        kernel kernel-genkernel-x86_64-3.19.3-1~exp1
        initrd initramfs-genkernel-x86_64-3.19.3-1~exp1
        params real_root=ZFS=tank/funtoo/root
        params += dozfs=force
}

Далее:

$ emerge boot-update
$ grub-mkconfig -o /boot/grub/grub.cfg
$ boot-update
$ cd /
$ rm stage3-latest.tar.xz
$ passwd
$ exit
$ umount -l proc dev sys boot
$ swapoff /dev/zvol/tank/swap
$ cd /
$ zpool export tank
$ reboot

... продолжение следует

Вне форума

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

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

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

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