From b9743958653df4d36032fdb11b4fe49deb58c876 Mon Sep 17 00:00:00 2001 From: Noa Himesaka Date: Mon, 23 Oct 2023 18:06:28 +0900 Subject: [PATCH] Galileo-T2 --- .github/workflows/BuildISO.yml | 84 +++++++++++++++++++ .github/workflows/gitlab.yml | 17 ---- airootfs/etc/hostname | 2 +- airootfs/etc/mkinitcpio.conf | 2 +- airootfs/etc/mkinitcpio.d/linux.preset | 4 +- airootfs/etc/motd | 19 +++-- airootfs/etc/pacman.conf | 7 ++ .../multi-user.target.wants/t2fand.service | 1 + .../multi-user.target.wants/touchbard.service | 1 + airootfs/etc/udev/rules.d/99-removables.rules | 0 .../entries/archiso-x86_64-linux-nv.conf | 7 -- .../loader/entries/archiso-x86_64-linux.conf | 7 +- efiboot/loader/entries/fallback.conf | 6 +- packages.x86_64 | 11 +-- profiledef.sh | 10 +-- 15 files changed, 127 insertions(+), 51 deletions(-) create mode 100644 .github/workflows/BuildISO.yml delete mode 100644 .github/workflows/gitlab.yml create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/t2fand.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/touchbard.service create mode 100644 airootfs/etc/udev/rules.d/99-removables.rules delete mode 100644 efiboot/loader/entries/archiso-x86_64-linux-nv.conf diff --git a/.github/workflows/BuildISO.yml b/.github/workflows/BuildISO.yml new file mode 100644 index 00000000..38cde825 --- /dev/null +++ b/.github/workflows/BuildISO.yml @@ -0,0 +1,84 @@ +name: Build EndeavourOS ISO +on: [push, pull_request, workflow_dispatch] +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + if: ${{ !contains(github.event.head_commit.message, '[no build]') }} + uses: actions/checkout@v2 + - name: Build In Docker + if: ${{ !contains(github.event.head_commit.message, '[no build]') }} + run: | + cat << \EOF > entrypoint.sh + pacman -Syu base base-devel reflector --needed --noconfirm + reflector --verbose --country $(curl https://ipv4.myip.wtf/text/country) --protocol http,https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist + pacman-key --init + pacman -Syu wget --needed --noconfirm + pacman -Syu archlinux-keyring --noconfirm + cd /etc/pacman.d/ + touch endeavouros-mirrorlist + echo "Server = https://mirror.funami.tech/endeavouros/repo/\$repo/\$arch" > endeavouros-mirrorlist + echo "Server = https://mirror.jingk.ai/endeavouros/repo/\$repo/\$arch" >> endeavouros-mirrorlist + cat endeavouros-mirrorlist + cd .. + printf "\n" >> pacman.conf + echo "[endeavouros]" >> pacman.conf + echo "SigLevel = Never" >> pacman.conf + echo "Include = /etc/pacman.d/endeavouros-mirrorlist" >> pacman.conf + printf "\n" >> pacman.conf + cat pacman.conf + wget https://raw.githubusercontent.com/endeavouros-team/keyring/main/endeavouros.gpg -O endeavouros.gpg + wget https://mirror.funami.tech/endeavouros/repo/endeavouros/x86_64/endeavouros-keyring-20230523-1-any.pkg.tar.zst + pacman -U endeavouros-keyring-20230523-1-any.pkg.tar.zst + pacman-key --add endeavouros.gpg && sudo pacman-key --lsign-key 497AF50C92AD2384C56E1ACA003DB8B0CB23504F + pacman-key --populate + pacman-key --recv-keys 8BE1FEE14302371DEF6F910A0E5877AC225D1980 --keyserver hkps://keyserver.ubuntu.com + pacman-key --lsign-key 8BE1FEE14302371DEF6F910A0E5877AC225D1980 + pacman-key --populate + pacman -Syu + pacman-key --populate + pacman-key --populate archlinux + cd /build + useradd builduser -m + passwd -d builduser + pacman -Syu --noconfirm --needed sudo git base-devel + pacman -S archiso mkinitcpio-archiso git squashfs-tools --needed --noconfirm + printf "builduser ALL=NOPASSWD: ALL\n" | tee -a /etc/sudoers + chown -R builduser:builduser ./ + sudo -u builduser bash ./prepare.sh + ./mkarchiso "." + EOF + + + + + docker run --privileged -t -v $PWD:/build archlinux /bin/bash /build/entrypoint.sh + + - name: Upload Built ISO + if: ${{ github.ref == 'refs/heads/Cassini-Nova-R1' && !contains(github.event.head_commit.message, '[no rel]') && !contains(github.event.head_commit.message, '[no build]') }} + uses: actions/upload-artifact@v2 + with: + name: built-iso + path: ${{ github.workspace }}/out/*.iso + - name: Create Tag + id: create_tag + if: ${{ github.ref == 'refs/heads/Cassini-Nova-R1' && !contains(github.event.head_commit.message, '[no rel]') && !contains(github.event.head_commit.message, '[no build]') }} + run: | + export TAG=$(date +%Y.%m.%d) + echo "::set-output name=tag::${TAG}" + echo $TAG + - name: Release + if: ${{ github.ref == 'refs/heads/Cassini-Nova-R1' && !contains(github.event.head_commit.message, '[no rel]') && !contains(github.event.head_commit.message, '[no build]') }} + uses: softprops/action-gh-release@v1 + with: + files: | + ${{ github.workspace }}/out/*.iso + tag_name: ${{ steps.create_tag.outputs.tag }} + name: ${{ steps.create_tag.outputs.tag }} + draft: ${{ contains(github.event.head_commit.message, '[draft]') }} + prerelease: ${{ contains(github.event.head_commit.message, '[prerel]') }} + body: | + Follow [this guide](https://wiki.t2linux.org/distributions/endeavouros/installation/) using this ISO to install EndeavourOS on your T2 Mac + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/gitlab.yml b/.github/workflows/gitlab.yml deleted file mode 100644 index a3199309..00000000 --- a/.github/workflows/gitlab.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Gitlab Mirror - -on: [push, delete] - -jobs: - to_gitlab: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - uses: pixta-dev/repository-mirroring-action@v1 - with: - target_repo_url: - git@gitlab.com:endeavouros-filemirror/EndeavourOS-ISO.git - ssh_private_key: - ${{ secrets.GITLAB_SYNC }} diff --git a/airootfs/etc/hostname b/airootfs/etc/hostname index f4f78c11..0e029324 100755 --- a/airootfs/etc/hostname +++ b/airootfs/etc/hostname @@ -1,3 +1,3 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -EndeavourOS +EndeavourOS-T2 diff --git a/airootfs/etc/mkinitcpio.conf b/airootfs/etc/mkinitcpio.conf index 31d9dee4..64ebb817 100755 --- a/airootfs/etc/mkinitcpio.conf +++ b/airootfs/etc/mkinitcpio.conf @@ -4,7 +4,7 @@ # run. Advanced users may wish to specify all system modules # in this array. For instance: # MODULES=(piix ide_disk reiserfs) -MODULES=(vmd) +MODULES=(vmd apple-bce) # BINARIES # This setting includes any additional binaries a given user may diff --git a/airootfs/etc/mkinitcpio.d/linux.preset b/airootfs/etc/mkinitcpio.d/linux.preset index d35f1377..7f732b80 100755 --- a/airootfs/etc/mkinitcpio.d/linux.preset +++ b/airootfs/etc/mkinitcpio.d/linux.preset @@ -5,7 +5,7 @@ PRESETS=('archiso') -ALL_kver='/boot/vmlinuz-linux' +ALL_kver='/boot/vmlinuz-linux-t2' ALL_config='/etc/mkinitcpio.conf' -archiso_image="/boot/initramfs-linux.img" +archiso_image="/boot/initramfs-linux-t2.img" diff --git a/airootfs/etc/motd b/airootfs/etc/motd index 2ce3a33b..79ceeca5 100755 --- a/airootfs/etc/motd +++ b/airootfs/etc/motd @@ -1,6 +1,10 @@ This ISO is based on Arch-ISO modified hugely to provide Installation Environment for EndeavourOS. +https://t2linux.org https://endeavouros.com +EndeavourOS-archiso-t2 Sources: +https://github.com/endeavouros-team/EndeavourOS-ISO-t2 + EndeavourOS-archiso Sources: https://github.com/endeavouros-team/EndeavourOS-ISO @@ -12,18 +16,21 @@ https://github.com/calamares/calamares Live environment will start now and let you install EndeavourOS to disk, or tryout KDE-Desktop from Live-Session. +!! WARNING : DO NOT REPORT ISSUES OR REQUEST HELP AT ENDEAVOUROS TEAM. YOU MUST COME TO T2LINUX DISCORD FOR HELP !! + Bugs can be reported here: -https://forum.endeavouros.com/c/Arch-based-related-questions/bug-reports +https://discord.com/invite/68MRhQu -Getting help at the forum: https://forum.endeavouros.com -Help-Chat is available on telegram: https://t.me/Endeavouros/ -News at twitter: https://twitter.com/OsEndeavour +Getting help at Discord: https://discord.com/invite/68MRhQu +Upstream news at Twitter: https://twitter.com/OsEndeavour Our journey wouldn't be made possible without the generosity of our open collective community: -https://opencollective.com/endeavouros +https://github.com/sponsors/NoaHimeska1873 +https://toss.me/yuruverse (South Korea residents only) +https://opencollective.com/endeavouros (Upstream) Thank you for donating your trust in us! -Welcome to your endeavour +Welcome to you and your Mac's endeavour ------------------ diff --git a/airootfs/etc/pacman.conf b/airootfs/etc/pacman.conf index a1a9d60b..c876692b 100644 --- a/airootfs/etc/pacman.conf +++ b/airootfs/etc/pacman.conf @@ -95,6 +95,13 @@ Include = /etc/pacman.d/mirrorlist [multilib] Include = /etc/pacman.d/mirrorlist +# T2Linux repositories +# DO NOT REMOVE + +[arch-mact2] +SigLevel = Never +Server = https://mirror.funami.tech/$repo/os/$arch + # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/t2fand.service b/airootfs/etc/systemd/system/multi-user.target.wants/t2fand.service new file mode 120000 index 00000000..161cc12a --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/t2fand.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/t2fand.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/touchbard.service b/airootfs/etc/systemd/system/multi-user.target.wants/touchbard.service new file mode 120000 index 00000000..7aa61e1c --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/touchbard.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/touchbard.service \ No newline at end of file diff --git a/airootfs/etc/udev/rules.d/99-removables.rules b/airootfs/etc/udev/rules.d/99-removables.rules new file mode 100644 index 00000000..e69de29b diff --git a/efiboot/loader/entries/archiso-x86_64-linux-nv.conf b/efiboot/loader/entries/archiso-x86_64-linux-nv.conf deleted file mode 100644 index 7203d6b2..00000000 --- a/efiboot/loader/entries/archiso-x86_64-linux-nv.conf +++ /dev/null @@ -1,7 +0,0 @@ -title EndeavourOS x86_64 UEFI NVIDIA (latest cards only) -sort-key B -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -initrd /%INSTALL_DIR%/boot/intel-ucode.img -initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n nvidia nvidia-drm.modeset=1 nouveau.modeset=0 i915.modeset=1 radeon.modeset=1 nvme_load=yes module_blacklist=pcspkr diff --git a/efiboot/loader/entries/archiso-x86_64-linux.conf b/efiboot/loader/entries/archiso-x86_64-linux.conf index d99f0ac4..2fc3d1ee 100644 --- a/efiboot/loader/entries/archiso-x86_64-linux.conf +++ b/efiboot/loader/entries/archiso-x86_64-linux.conf @@ -1,7 +1,6 @@ title EndeavourOS x86_64 UEFI Default sort-key A -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-t2 initrd /%INSTALL_DIR%/boot/intel-ucode.img -initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 nvme_load=yes +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-t2.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 nvme_load=yes intel_iommu=on iommu=pt pcie_ports=compat diff --git a/efiboot/loader/entries/fallback.conf b/efiboot/loader/entries/fallback.conf index 45b04535..1adcfeb1 100644 --- a/efiboot/loader/entries/fallback.conf +++ b/efiboot/loader/entries/fallback.conf @@ -1,5 +1,5 @@ title EndeavourOS x86_64 Fallback (nomodeset) sort-key C -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nomodeset nvme_load=yes +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-t2 +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-t2.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=10G copytoram=n module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nomodeset nvme_load=yes intel_iommu=on iommu=pt pcie_ports=compat diff --git a/packages.x86_64 b/packages.x86_64 index 1e5cff6b..a56a33b6 100644 --- a/packages.x86_64 +++ b/packages.x86_64 @@ -2,6 +2,8 @@ ## Base system iptables-nft +apple-bcm-firmware +apple-t2-audio-config base base-devel archlinux-keyring @@ -14,10 +16,9 @@ dracut edk2-shell inetutils less -linux +linux-t2 linux-firmware -linux-firmware-marvell -linux-headers +linux-t2-headers logrotate lsb-release man-db @@ -30,7 +31,9 @@ s-nail sudo sysfsutils systemd-sysvcompat +t2fand texinfo +touchbard which vi @@ -75,8 +78,6 @@ xorg-xkill xorg-xrandr ## Network hardware -b43-fwcutter -broadcom-wl-dkms ## General hardware lsscsi diff --git a/profiledef.sh b/profiledef.sh index c00e73fc..cd4eabfc 100644 --- a/profiledef.sh +++ b/profiledef.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash # shellcheck disable=SC2034 -iso_name="EndeavourOS" -iso_label="EOS_$(date +%Y%m)" -iso_publisher="EndeavourOS " -iso_application="EndeavourOS Live/Rescue CD" -iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" +iso_name="EndeavourOS-T2" +iso_label="EOS_T2_GALILEO" +iso_publisher="t2linux " +iso_application="EndeavourOS Live/Rescue CD for Macs with T2 security chip" +iso_version="Galileo-T2" install_dir="arch" buildmodes=('iso') quiet="n"