ISO های مانجارو را با bulidiso بسازید
Views
Actions
Namespaces
Variants
Tools
پیش نیازها:
این یک توضیح دقیق از نصب و پیکربندی ابزارها و فرآیند ساخت است.
لازم است یا آخرین نسخه Manjaro را از آدرس زیر دریافت و نصب کنید Manjaro و یا یک سیستم Manjaro را که به خوبیکار می کند اجرا کنید. به روز رسانی سیستم شما با آخرین هسته و بسته های موجود حیاتی است.
Manjaro Tools را نصب کنید
برای شروع به بسته های زیر نیاز دارید
ما با نسخه رسمی XFCE این کار خواهیم کرد تا به شما کمک کنیم بفهمید چه کاری باید انجام دهید.
پروفایل ISO
آخرین پروفایل های ISO را دانلود کنید
جدیدترین پروفایل ها را می توان در gitlab Manjaro پیدا کرد. می توانید آنها را مستقیماً با استفاده از دستور زیر دانلود کنید:
بررسی پروفایل ISO
پروفایل ISO برای XFCE را اکنون می توانید در اینجا پیدا کنید:
بیایید نگاهی دقیق تر به پوشه پروفایل XFCE (که در بالا مشخص شده است) بیندازیم:
desktop-overlay live-overlay -> ../../shared/manjaro/live-overlay Packages-Desktop Packages-Live -> ../../shared/Packages-Live Packages-Mhwd -> ../../shared/Packages-Mhwd Packages-Root -> ../../shared/Packages-Root profile.conf
- desktop-overlay: پس از هر نصب موفقیتآمیز ISO، فایلها و پوشههای موجود در اینجا دقیقا کپی میشوند.
- live-overlay: مشابه desktop-overlay. فایلها و پوشههای موجود در اینجا فقط در LiveCD ISO شما کپی میشوند.
- Packages-Desktop: این فایل حاوی بسته هایی برای نصب ISO است. همه بسته ها نیز بر روی LiveCD نصب خواهند شد.
- Packages-Live: این فایل حاوی بسته هایی است که فقط روی LiveCD نصب می شوند.
- Packages-Mhwd: این فایل حاوی بستههای Mhwd است که برای همه نصبهای Manjaro و LiveCD مهم هستند..
- Packages-Root: این فایل حاوی بستههای پایه است که برای همه نصبهای Manjaro و LiveCD مهم هستند.
- profile.conf شامل تنظیمات اولیه برای نصب ISO و LiveCD شما است.
همانطور که احتمالاً متوجه شده اید، چندین مورد تنها پیوندهای نمادین به پروفایل ISO مشترک هستند. تمرین خوبی است که هرگز فایل ها یا پوشه ها را در پروفایل ISO مشترک تغییر ندهید. اگر زمانی خواستید آنها را تغییر دهید، ابتدا آنها را در پوشه پروفایل ISO خود کپی کنید و پیوند نمادین را حذف کنید.
تمام پوشه ها و فایل های مخصوص ISO شما به صورت پررنگ هستند. شما می توانید آنها را به سلیقه خود تغییر دهید.
اصلاح پروفایل ISO
رایجترین مکانها برای تغییر دادن و سفارشی سازی پروفایل ISO سه پوشه مشخصشده در بالا هستند: desktop-overlay, profile.conf, Packages-Desktop:
desktop-overlay
پوشه desktop-overlay به شکل زیر است:
$ tree ~/iso-profiles/manjaro/xfce/desktop-overlay/etc
../iso-profiles/manjaro/xfce/desktop-overlay/ ├── etc │ ├── fonts │ │ └── conf.d │ │ └── 70-no-bitmaps.conf │ └── lightdm │ ├── lightdm.conf │ └── lightdm-gtk-greeter.conf └── usr └── share └── icons └── default └── index.theme
به این مسیر بروید.
Then create skel folder. This is where you can clone everything you see on your Desktop Screen to ISO.
After the ISO has been successfully installed all files and folder in desktop-overlay folder get copied over to the installed system. This includes settings/config files but also themes and backgrounds/pictures.
All files and folder in here will get copied to the home folder. Most hidden files and their structure in ~/iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/
should be already familiar to you, because your home folder looks very similar.
Clone Custom Wallpaper Desktop
To clone your Custom Wallpaper Desktop. Open a New File Manager and go to this file.
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
Change all image directories to where your Custom Wallpaper was located at. For example:
/usr/share/backgrounds/<YOUR IMAGE HERE>
Example
A sample `xfce4-desktop.xml` can be viewed by unfolding this block
<?xml version="1.0" encoding="UTF-8"?> <channel name="xfce4-desktop" version="1.0"> <property name="backdrop" type="empty"> <property name="screen0" type="empty"> <property name="monitor0" type="empty"> <property name="image-path" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> <property name="last-single-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> <property name="image-style" type="int" value="5"/> </property> <property name="monitorVGA-0" type="empty"> <property name="workspace0" type="empty"> <property name="color-style" type="int" value="0"/> <property name="image-style" type="int" value="5"/> <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> </property> <property name="workspace1" type="empty"> <property name="color-style" type="int" value="0"/> <property name="image-style" type="int" value="5"/> <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> </property> </property> </property> </property> <property name="desktop-icons" type="empty"> <property name="style" type="int" value="2"/> <property name="file-icons" type="empty"> <property name="show-removable" type="bool" value="true"/> </property> <property name="icon-size" type="uint" value="32"/> </property> </channel>
Go to this directory:
Then create usr/share/backgrounds
and place your Custom Wallpaper at this directory.
profile.conf
The full content of an example profile.conf can be viewed by unfolding this block. It is always best to use the latest version instead of copying this one.
This config file contains setting options. All default settings are commented. If you want to change them, uncomment them (remove the #
symbol in front) and change it.
The following settings are noteworthy:
multilib=
setting belongs to the>multilib
flag in your package lists. multilib will install basic 32bit libraries on 64bit systems. This increases compatibility for 32bit applications on 64bit systems.displaymanager=
sets the display / login manager your system uses. You need to list your display manager in your package list, too.nonfree_xorg=
refers to proprietary graphics drivers.netinstall=
: do not usechrootcfg=
: do not usekernel=
lets you set the installed kernel. Do not include any kernels in your package list! This setting is all you need.enable_systemd=
let's you set systemd services, which get started on the installed system (and with a similar setting on the livecd).enable_openrc=
: do not use
Packages-Desktop
An example `Packages-Desktop` file can be viewed by unfolding this block. It is always best to use the latest version instead of copying this one.
This file contains a list of packages, which will get installed on your installed ISO (XFCE) and the LiveCD (the packages in Packages-Live file only get installled on the live ISO). This is a package list with Xfce specific packages (and packages you like to add to your custom Manjaro ISO) of multiple package lists in your ISO profile. The other package lists are more generic.
You can add or remove package names from this list as you like. You do not need to worry about dependencies when adding package names, just make sure the package name is spelled correctly and the package is available in the Manjaro repositories.
#
marks a comment. The rest of the line after the #
symbol gets ignored.
Adding AUR packages
If you want to add AUR packages to your ISO, you need to create a online repository and add it to a file user-repos.conf beside your profile.conf.
Only use your own http enabled repo.
[your-repo-name]
SigLevel = Optional TrustAll Server = http://repo.server.tld/your-repo-name
The article Buildiso with AUR packages: Using buildpkg contains more detailed information on this process.
manjaro-tools.conf
manjaro-tools.conf
is the central configuration file for all tools part of manjaro-tools. Only edit the general and the "buildiso" part to not exceed the scope of this tutorial. If you are not sure what and how to edit it, do not edit it. You can always use arguments with the buildiso
command later.
By default, the systemwide config file is installed in
/etc/manjaro-tools/manjaro-tools.conf
Best practice is to leave the systemwide file untouched and copy the system wide config to your home directory here:
~/.config/manjaro-tools
If the userconfig is present, manjaro-tools/buildiso will load the userconfig values. Best practice is to leave the systemwide file untouched. By default it is commented and shows just initialization values done in code.
Build your ISO
Build your ISO with the following command:
You need to specify the name of your ISO profile after the -p
argument. In this case, it is xfce
.
If the build process fails with an error, start it again.
Attention: The build process needs at least 10 minutes to complete or much longer when you are using HDDs, slow CPUs, or large ISOs.
When the build process finishes successfully, the ISO file and the package list will appear in this folder:
/var/cache/manjaro-tools/iso/
Example:
You can use arguments with the buildiso
command for more build options:
-f
let's you specify if you want the full ISO. If omitted a minimal ISO will be build.-b
let's you specify the branch. You can also set this in yourmanjaro-tools.conf
file.
You can find other examples of builds using different arguments for buildiso here.
Cleaning your hard drive
After a successful or failed build, you can get rid of most data (the "raw" ISO with all downloaded packages) by deleting this folder:
To clean your system of packages files of packages not installed on your system (this includes all the package files downloaded for your custom ISO):
You can also manually look into
/var/cache/manjaro-tools/
and delete folders or files to your liking. If you want to delete all ISO images, package lists, and cached Xorg packages do:
Please remember that all these packages and files are saved for your convenience. If you clean your system like suggested above, you have to download all packages and build all images again the next time you want to build your own Manjaro ISO.
By default, your manjaro-tools.conf
file is saved. If you want to delete it, use
Tips & Tricks
Building a minimal ISO
A minimal ISO is easy to create by modifying an entry in the profile.conf file. Find the section
# use extra packages as defined in pkglist to activate a full profile # extra="false" extra="true"
and remove the # mark in front of extra = "false" and add a # in front of extra = "true".
If you prefer not to change this you can always use the -f with buildiso to build a full profile.
See also
- Source: Manjaro Gitlab ISO Profiles (master branch may be unstable - select the branch for latest release)
- Video: Building Manjaro ISO by Philip Müller(Tutorial Video)
- Wiki: Buildiso with AUR packages: Using buildpkg