Данный материал содержит инструкцию по созданию собственного дистрибутива LiveCD.
- Desktop Enviroment Openbox с темой Breeze,
- Панели tint2 и docky.
- Login manager — sddm с темой maldives.
Скачивание образа Ubuntu 16.04
Создайте виртуальную машину №1 в программе VirtualBox.
Создайте еще один диск для LiveCD и подключите его к виртуальной машине №1.
Скачайте и поставьте Ubuntu 16.04. Подключитесь к виртуальной машине №1, после установки на нее Ubuntu 16.04.
Запустите программу cfdisk:
_x000D_cfdisk /dev/sdbИ разбейте подключенный новый диск. Первый раздел /dev/sdb1 сделайте большим, а второй /dev/sdb2 размером 1Гб. Он будет под swap.
Сборка системы
Установите необходимые пакеты:
_x000D_sudo apt install debootstrapDebootstrap позволяет собрать в папке чистую систему. Причем не обязательно той же версии, которая установлена в виртуальной машине.
Создайте папку, где будет происходить сборка системы:
_x000D_sudo mkdir -p /media/UFS/disk_x000D_cd /media/UFSОтформатируйте чистый диск, который вы подключали к виртуальной машине.
_x000D_sudo cfdisk /dev/sdb_x000D_sudo mkfs.ext4 /dev/sdb1_x000D_sudo mount /dev/sdb1 /media/UFS/diskУстановите систему через debootstrap:
_x000D_sudo debootstrap --arch amd64 xenial disk http://ru.archive.ubuntu.com/ubuntuПодготовьте chroot:
_x000D_sudo cp /etc/apt/sources.list /media/UFS/disk/etc/apt/sources.list_x000D_sudo cp /etc/resolv.conf /media/UFS/disk/etc/resolv.conf_x000D_sudo mount -t proc proc /media/UFS/disk/proc/_x000D_sudo mount -t sysfs sys /media/UFS/disk/sys/_x000D_sudo mount -o bind /dev /media/UFS/disk/dev/_x000D_sudo mount -t devpts none /media/UFS/disk/dev/pts_x000D__x000D_sudo chroot /media/UFS/disk_x000D__x000D_echo "127.0.0.1 ubuntu" >> /etc/hosts_x000D_echo "ubuntu" >> /etc/hostnameОбновите систему в Chroot и установите локаль:
_x000D_apt update_x000D_apt upgrade_x000D_locale-gen en_US.UTF-8_x000D_locale-gen ru_RU.UTF-8Установите необходимые системные пакеты:
_x000D_apt install ubuntu-standard linux-generic dbusУстановите openbox:
_x000D_apt install aptitude nano mc htop xorg openbox sddm sddm-theme-maldives wicd gedit nitrogen compton tint2 lxappearance lxappearance-obconf obmenu docky volti pulseaudio pavucontrol pavumeter xxkb xkbind gxkb gmrun zip unzip unar qlipper breeze-icon-theme gtk3-engines-breeze breeze-cursor-theme qt5-style-plugins lxqt-config lxqt-qtplugin pcmanfm konsole firefox zip unzip menuНастройте sddm в качестве display manager по умолчанию:
_x000D_echo "/usr/bin/sddm" > /etc/X11/default-display-manager _x000D_sddm --example-config > /etc/sddm.confУкажите в /etc/sddm.conf тему maldives:
_x000D_sed -i -- 's/Session=openbox.dektop/Session=plasma.dektop/g' /etc/sddm.conf_x000D_sed -i -- 's/Current=breeze/Current=maldives/g' /etc/sddm.conf_x000D_cp /usr/share/xsessions/openbox.desktop /usr/share/xsessions/plasma.desktop_x000D_Копирование openbox в plasma нужно, потому что sddm при автоматическом входе без авторизации пытается найти plasma.desktop и игнорирует параметр Session.
Укажите иконки по умолчанию:
_x000D_update-alternatives --set x-cursor-theme /etc/X11/cursors/breeze_cursors.themeСоздайте пользователя ubuntu :
_x000D_echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers_x000D_useradd -m --shell /bin/bash ubuntu_x000D_usermod -a -G sudo ubuntu_x000D_groupadd -r wheel_x000D_usermod -a -G wheel ubuntu_x000D_chmod 700 /home/ubuntu_x000D_chown -R ubuntu:ubuntu /home/ubuntuУкажите sddm, чтобы он грузился без пароля:
_x000D_sed -i -- 's/User=/User=ubuntu/g' /etc/sddm.confУстановите конфиги домашней папки от openbox. Это уже настроенная конфигурация рабочего стола Openbox с темой Breeze.
_x000D_cd /root_x000D_wget /wp-content/uploads/blinux/openbox.config.zip_x000D_unzip /root/openbox.config.zip_x000D_cp -aT /root/.bak/ /home/ubuntu/Установите полезные программы:
_x000D_apt-get install gnome-disk-utilityУстановите пароль для пользователя ubuntu (Пароль ubuntu):
_x000D_passwd ubuntuCконфигурируйте fstab:
_x000D_nano /etc/fstab_x000D__x000D_# /etc/fstab: static file system information._x000D_#_x000D_# Use 'blkid' to print the universally unique identifier for a_x000D_# device; this may be used with UUID= as a more robust way to name devices_x000D_# that works even if disks are added and removed. See fstab(5)._x000D_#_x000D_# <file system> <mount point> <type> <options> <dump> <pass>_x000D_# / was on /dev/sda1 during installation_x000D_/dev/sda1 / ext4 errors=remount-ro 0 1_x000D__x000D_# swap was on /dev/sda4 during installation_x000D_/dev/sda2 none swap sw 0 0Сконфигурируйте раскладку клавиатуры на переключение через Alt+Shift:
_x000D_nano /etc/default/keyboard_x000D__x000D_# KEYBOARD CONFIGURATION FILE_x000D__x000D_# Consult the keyboard(5) manual page._x000D__x000D_XKBMODEL=""_x000D_XKBLAYOUT="us,ru"_x000D_XKBVARIANT=""_x000D_XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"_x000D__x000D_BACKSPACE="guess"Настройте grub:
_x000D_aptitude install os-proberЕсли спросит, на какой диск ставить grub, укажите диск /dev/sdb .
Выйдите из chroot:
_x000D_apt-get clean_x000D_rm -rf /tmp/*_x000D__x000D_exit_x000D_sudo umount /media/UFS/disk/sys/_x000D_sudo umount /media/UFS/disk/dev/pts_x000D_sudo umount /media/UFS/disk/dev/_x000D_sudo umount /media/UFS/disk/proc/sys/fs/binfmt_misc_x000D_sudo umount /media/UFS/disk/proc/Дальше можно создать новую виртуальную машину №2, и указать в качестве главного диска второй диск, загрузится с него и проверить как все работает.