==== https://wiki.manjaro.org/index.php/Build_Manjaro_ISOs_with_buildiso ==== Download the latest ISO profiles git clone https://gitlab.manjaro.org/profiles-and-settings/iso-profiles.git ~/iso-profiles 修改要安裝的套件與 overlay 資料 ---- ==== mirror repo , put it in /srv/http/localhost/repository/localrep/ ===== lr /srv/http/localhost/repository/localrep/stable/ total 16 drwxr-xr-x 3 feuer feuer 4096 Jun 13 15:10 multilib drwxr-xr-x 3 feuer feuer 4096 Jun 13 15:50 core drwxr-xr-x 3 feuer feuer 4096 Jun 13 19:01 community drwxr-xr-x 3 feuer feuer 4096 Jun 15 00:00 extra And active httpd service. ---- ==== vi ~/.config/manjaro-tools/manjaro-tools.conf ==== chroots_dir=/mnt/N300_2/manjaro-tools-2 #build_mirror=file:///mnt/N300_2/Manjaro_repo/ ## 不可以用 file://,buildpkg 和 buildiso 無法在所有階段順利取得檔案。 build_mirror=http://localhost/repository/localrep repo_tree=('core' 'extra' 'community' 'multilib') host_tree=https://github.com/manjaro host_tree_abs=git://projects.archlinux.org/svntogit build_list_pkg=default branch=v21.5 build_list_iso=default kernel="linux510" ---- ==== pacman.conf local repo (seems not necessary) ==== vi /etc/pacman.d/locallist Server = http://localhost/repository/localrep/stable/$repo/$arch vi /etc/pacman.conf [core] Include = /etc/pacman.d/locallist Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/locallist Include = /etc/pacman.d/mirrorlist [community] Include = /etc/pacman.d/locallist Include = /etc/pacman.d/mirrorlist # If you want to run 32 bit applications on your x86_64 system, # enable the multilib repositories as required here. [multilib] Include = /etc/pacman.d/locallist Include = /etc/pacman.d/mirrorlist ---- ==== Prepare packages from AUR ==== == https://wiki.manjaro.org/index.php/Buildiso_with_AUR_packages:_Using_buildpkg == 使用預設的 /etc/manjaro-tools/manjaro-tools.conf\\ 使用一般帳號。\\ mkdir ~/pkgbuild cd ~/pkgbuild git clone https://aur.archlinux.org/google-chrome buildpkg -p google-chrome <[[buildpkg_google-chrome.log]]>\\ \\ 在下載編譯 google-chrome 之前,會先安裝一個 chroot 環境,/var/lib/manjaro-tools/buildpkg/stable/x86_64/root; 在其中安裝必要的套件然後編譯 google-chrome。 == 後記:安裝 iso 和製作 aur 套件最好同一個 chroot 環境,否則安裝套件可能出問題(檔案毀損)。 == (su) 06-29 21:33 [root@92cafe pkgbuild]# cp /var/cache/manjaro-tools/pkg/stable/x86_64/google-chrome-91.0.4472.114-1-x86_64.pkg.tar.zst /srv/http/localhost/repository/AUR/stable/online-repo/x86_64/ 06-29 21:33 [root@92cafe x86_64]# repo-add online-repo.db.tar.gz *.pkg.tar.* ==> Extracting online-repo.db.tar.gz to a temporary location... ==> Extracting online-repo.files.tar.gz to a temporary location... ==> Adding package 'google-chrome-74.0.3729.131-1-x86_64.pkg.tar.xz' ==> WARNING: A newer version for 'google-chrome' is already present in database -> Computing checksums... -> Removing existing entry 'google-chrome-91.0.4472.114-1'... -> Creating 'desc' db entry... -> Creating 'files' db entry... ==> Adding package 'google-chrome-91.0.4472.114-1-x86_64.pkg.tar.zst' -> Computing checksums... -> Removing existing entry 'google-chrome-74.0.3729.131-1'... -> Creating 'desc' db entry... -> Creating 'files' db entry... ==> Creating updated database file 'online-repo.db.tar.gz' 製作 online_repo 參考檔案: [feuer@92cafe iso-profiles]$ cat ~/iso-profiles/community/cinnamon/user-repos.conf [online-repo] SigLevel = Never Server = http://localhost/repository/AUR/$repo/$arch 把 /etc/manjaro-tools/manjaro-tools.conf 改回自訂 repo source: chroots_dir=/mnt/N300_2/manjaro-tools-2 build_mirror=http://localhost/repository/localrep/ 把 ~/iso-profiles/community/cinnamon/Packages-Desktop 加入自訂增加套件。 ---- ==== buildiso ==== 執行 buildiso -p cinnamon