ManjaroISO
Что такое ManjaroISO?
ManjaroISO - это небольшой набор bash-скриптов, который способен создавать полностью функциональные live-носители на базе Manjaro Linux. Это очень универсальный инструмент, поэтому он потенциально может быть использован для создания чего угодно, от систем восстановления, установочных дисков, систем liveCD, и кто знает, чего еще. Проще говоря, если речь идет о Manjaro на блестящей подставке - он может это сделать.
Как начать?
Создание рабочего каталога
Первое, что вы должны сделать - это создать каталог для работы и перейти в него по cd. Это поможет организовать работу.
mkdir -p ~/work/manjaroiso
Обновление системы
Для обновления системы используйте команду:
sudo pacman -Syu
Установка ManjaroISO
Затем установите manjaroiso и его профили. Если вам не нужны профили сообщества - не устанавливайте этот пакет.
sudo pacman -S manjaroiso manjaroiso-profiles manjaroiso-community-profiles
Скопируйте профили ManjaroISO в свой рабочий каталог:
cp -a /usr/share/manjaroiso/configs/ ~/work/manjaroiso/configs/
Существует Альтернативный способ установки ManjaroISO с помощью git clone
для загрузки последних пакетов ManjaroISO с Github.
Понятие профилей ManjaroISO
В зависимости от версии ManjaroISO вы найдете следующие каталоги в ~/work/manjaroiso:
build cinnamon e17 kde lxde mate net openbox shared sysmenu xfce
В этом примере мы работаем с каталогом e17. Этот каталог больше недоступен и заменен на enlightenment, но он хорошо подходит для демонстрационных целей. Все каталоги профилей выглядят очень похоже. Перейдите в него и посмотрите на файлы и каталоги в нем:
Packages isolinux overlay pacman-x86_64.conf Packages-E17 isomounts overlay-livecd syslinux Packages-Xorg mkinitcpio.conf pacman-gfx.conf efiboot e17-overlay options.conf pacman-i686.conf
- Packages включает общие пакеты для всех редакций
- Packages-E17 включает все пакеты специально для редакции E17
- Packages-Xorg включает все общие пакеты Xorg
- e17-overlay включает файлы и каталоги, измененные для работы E17 Edition
- isolinux включает файл isolinux.cfg для запуска загрузчика syslinux
- isomounts содержит информацию обо всех оверлейных образах и их порядке загрузки: он указывает ядру, в каком порядке (сверху вниз) загружать все оверлейные образы
- mkinitcpio.conf содержит информацию обо всех необходимых модулях, которые должны быть добавлены к ядру live-media
- options.conf определяет основные настройки для live-media
- overlay включает в себя общие файлы и каталоги, измененные для обеспечения работы всего издания
- overlay-livecd включает общие файлы и каталоги, измененные для всех редакций, обеспечивающих работу live-сессии
- pacman-gfx.conf включает общий файл pacman.conf для оверлея pkgs-image
- pacman-i686.conf включает общий pacman.conf для всех 32-битных редакций Manjaro
- pacman-x86_64.conf включает общий pacman.conf для всех 64-разрядных редакций Manjaro Editions
- syslinux включает в себя загрузчик для всех редакций Manjaro
- efiboot включает загрузчик UEFI для всех редакций Manjaro
Изменение профиля ManjaroISO
В данном примере мы работаем с каталогом e17. Следующие файлы и каталоги наиболее важны для профиля E17:
- Packages-E17
- e17-overlay
Текущий файл Packages-E17 выглядит следующим образом:
### Manjaro Packages ## E17 Main Packages enlightenment17 faenza-green-icon-theme gksu libgnomeui lxdm network-manager-applet system-tools xcursor-simpleandsoft xcursor-vanilla-dmz-aa ## Applications blueman epdfview midori mplayer gparted #manjaro-installer sylpheed xchat xnoise ## Packages for Sound and Audio gstreamer0.10-bad-plugins gstreamer0.10-ffmpeg gstreamer0.10-ugly-plugins ## Package management pacman-gui
You can add any missing package like connman, the E17 network manager, to this file and save it. You do not need to worry about dependencies.
Please keep in mind that you can only add packages from the manjaro repositories and not from the AUR. Read this wiki page, if you want to add packages from the AUR: How to install AUR packages in ManjaroISO
The e17-overlay folder looks like this atm:
e17-overlay |-etc |---skel |-----.config |-------epdfview |-------gtk-2.0 |-------midori |-----.local |-------share |---------applications |---systemd |-----system |-usr |---share |-----icons |-------default
It includes configuration files like etc/systemd/system/display-manager.service
to define the used bootloader. You can change or add any files to that folder to get included to the installed Manjaro system and also added to the live-session if not overwritten by the same file in overlay-livecd.
The overlay-livecd folder looks like this atm:
overlay-livecd |-etc |---gdm |---lightdm |---manjaro |---pam.d |---samba |---skel |-----.config |-------autostart |-----.kde4 |-------share |---------config |-----Desktop |---sudoers.d |---systemd |-----system |-------multi-user.target.wants |-root |---.config |-usr |---bin |---lib |-----systemd |-------system |---sbin |---share |-----icons
Any file added to this folder gets only added to the live-session. In some cases, this can be important.
Building 32 bit and 64 bit install-medias
The options.conf file found in the shared subfolder (in our example: ~/work/manjaroiso/configs/shared/
) or the subfolder of the desktop environment you are trying to build (in our example: ~/work/manjaroiso/configs/e17/
) contains the following code:
arch=`uname -m` #arch=i686
This will build a 32bit install-media, if you are on a 32bit Manjaro system and a 64bit install-media, if you are on a 64bit Manjaro system.
If you are on a 64bit Manjaro system and want to build a 32bit install-media, please change the code to this:
#arch=`uname -m` arch=i686
Building an install-media
Please change into the profile folder you want to build, if you have not already done this. In our example this is:
cd ~/work/manjaroiso/configs/e17/
Now, use buildiso to build your install-media:
sudo buildiso
buildiso will create a new folder work-x86_64
or work-i686
depending on the architecture of the install-media you want to build. buildiso will work in that folder exclusively. When buildiso is finished, the .iso file with your install-media will appear in your profile folder (in our example: ~/work/manjaroiso/configs/e17/
).
Troubleshooting
In case anything goes wrong buildiso will display an error. Try to fix this error and restart buildiso. If there is a severe error in buildiso or if you want to build a completely new install-media, it might be necessary to delete buildiso's work folder. In our example this is (for a 64bit architecture installation-media):
sudo rm -rfv ~/work/manjaroiso/configs/e17/work-x86_64
Attention: The work-x86_64
folder will not be completely deleted, because parts of it are mounted.
In severe cases, please reboot your system before and after you try to remove the work-x86_64
folder.
Links