diff options
| author | nic <ra@afu.re> | 2025-07-26 21:49:45 -0400 |
|---|---|---|
| committer | nic <ra@afu.re> | 2025-07-26 21:49:45 -0400 |
| commit | d9de8809e689fc2ae1ba2680481b5450a5bffd61 (patch) | |
| tree | b51136a31c352aac76a1f352dbb8b9342a5db9e3 /cs/Gentoo | |
| parent | 20ece96f9065dc683b81344ff177005757c6fc3a (diff) | |
Auto from nzxt - Sat 26 Jul 2025 09:49:45 PM EDT
Diffstat (limited to 'cs/Gentoo')
| -rw-r--r-- | cs/Gentoo/Asahi - Gentoo - Wayland - Suckless Setup.md | 254 | ||||
| -rw-r--r-- | cs/Gentoo/Asahi - Gentoo - Wayland setup.md | 254 | ||||
| -rw-r--r-- | cs/Gentoo/index.md | 2 |
3 files changed, 255 insertions, 255 deletions
diff --git a/cs/Gentoo/Asahi - Gentoo - Wayland - Suckless Setup.md b/cs/Gentoo/Asahi - Gentoo - Wayland - Suckless Setup.md new file mode 100644 index 0000000..87955ee --- /dev/null +++ b/cs/Gentoo/Asahi - Gentoo - Wayland - Suckless Setup.md @@ -0,0 +1,254 @@ + +curl https://alx.sh | sh + + + +# From gentoo livecd + +net-setup +ifconfig +lsblk + +fdisk /dev/nvmeX +- 512M EFI +- 130GB Root + +mkfs.fat -F32 /dev/nvmeEFI +mkfs.btrfs -f /dev/nvmeRoot + +mount /dev/nvmeRoot /mnt/gentoo +mkdir -p /mnt/gentoo/boot/ +mount /dev/nvmeEFI /mnt/gentoo/boot/ + +> vendorfw ? + +wget stage3 +tar xpvf stage3-X.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo + +nano /mnt/gentoo/etc/portage/make.conf +``` +# vim: set language=bash; +CHOST="aarch64-unknown-linux-gnu" + +# Optimization flags. +COMMON_FLAGS="-march=armv8.5-a+fp16+simd+crypto+i8mm -mtune=native -O2 -pipe" +CFLAGS="${COMMON_FLAGS}" +CXXFLAGS="${COMMON_FLAGS}" +FCFLAGS="${COMMON_FLAGS}" +FFLAGS="${COMMON_FLAGS}" +RUSTFLAGS="-C target-cpu=native" + +LC_MESSAGES=C + +MAKEOPTS="-j(nproc)" ************* +EMERGE_DEFAULT_OPTS="--jobs 3" +ACCEPT_LICENSE="linux-fw-redristribuable no-source-code" + +GENTOO_MIRRORS="" ??????????????? +VIDEO_CARDS="asahi" ???????????? + +# Keep a newline at the end! Important! +``` + +> ? necessary ? + +cp -r /boot /mnt/gentoo +cp -r /usr/lib/modules /mnt/gentoo/usr/lib +cp -r /usr/lib/firmware /mnt/gentoo/usr/lib + +> ? The --make-rslave operations are needed for systemd support later in the installation. + +mount --types proc /proc /mnt/gentoo/proc +mount --rbind /sys /mnt/gentoo/sys +mount --make-rslave /mnt/gentoo/sys +mount --rbind /dev /mnt/gentoo/dev +mount --make-rslave /mnt/gentoo/dev +mount --bind /run /mnt/gentoo/run +mount --make-slave /mnt/gentoo/run + + +chroot /mnt/gentoo /bin/bash +source /etc/profile + +emerge-webrsync +emerge --sync + +emerge -1 sys-apps/portage + +eselect profile + +emerge -av dev-vcs/git +git clone https://github.com/chadmed/asahi-gentoosupport +cd asahi-gentoosupport +./install.sh + +``` +set -e + +install_overlay() { + echo "Installing the Asahi Overlay. For more information, visit" + echo "https://github.com/chadmed/asahi-overlay/" + echo + + emerge -q eselect-repository + eselect repository enable asahi + emaint sync -r asahi + echo "The Asahi overlay has been installed." +} + +install_meta() { + echo "We will now install the Asahi metapackage with some sane" + echo "defaults to get you started. This step will:" + echo " * Emerge rust-bin (you can switch to the compiled rust later)" + echo " * Add VIDEO_CARDS=\"asahi\" to /etc/portage/make.conf" + echo " * Emerge the Asahi metapackage" + echo " * Emerge the Asahi dist-kernel (you may switch to asahi-sources later)" + echo " * Unpack the Asahi firmware" + echo " * Update m1n1 and U-Boot" + read -sp "Press Enter to continue..." + + [ ! -d /etc/portage/package.mask ] && mkdir /etc/portage/package.mask + cp resources/package.mask /etc/portage/package.mask/asahi + [ ! -d /etc/portage/package.use ] && mkdir /etc/portage/package.use + cp resources/package.use /etc/portage/package.use/asahi + [ ! -d /etc/portage/package.license ] && mkdir /etc/portage/package.license + echo "sys-kernel/linux-firmware linux-fw-redistributable no-source-code" > /etc/portage/package.license/firmware + echo "VIDEO_CARDS=\"asahi\"" >> /etc/portage/make.conf + + emerge -q1 dev-lang/rust-bin + emerge -q sys-apps/asahi-meta virtual/dist-kernel:asahi sys-kernel/linux-firmware + asahi-fwupdate + update-m1n1 +} + +install_grub() { + echo "Installing GRUB." + echo "GRUB_PLATFORMS=\"efi-64\"" >> /etc/portage/make.conf + emerge -q grub:2 + grub-install --boot-directory=/boot/ --efi-directory=/boot/ --removable + grub-mkconfig -o /boot/grub/grub.cfg + echo "GRUB has been installed." +} + + +if [[ $(whoami) != "root" ]]; then + echo "You must run this script as root." + exit 1 +fi + +if [[ ! -d /boot/vendorfw ]]; then + echo "We use ESP-as-boot. Please mount the Asahi ESP to /boot before" + echo "continuing. This is absolutely essential for the system" + echo "to function correctly." + exit 1 +fi + + +echo "This script automates the setup and configuration of Apple Silicon" +echo "specific tooling for Gentoo Linux. Please mount the ESP to /boot." +echo +echo "NOTE: This script will install linux-firmware automatically. It is not" +echo "possible to run these machines properly without binary blobs. Please make" +echo "sure you understand this, and agree to the linux-fw-redistributable and" +echo "no-source-code licenses before continuing." +echo +read -sp "Press Enter to continue..." + + +install_overlay + +install_meta + +install_grub + +echo "This script will now exit. Continue setting up your machine as per the" +echo "Gentoo Handbook, skipping the steps related to setting up the kernel or" +echo "GRUB as these have been done for you. Don't forget to add /boot to your" +echo "fstab!" +``` + +lsblk +blkid + +nano /etc/fstab +``` +# /etc/fstab: static file system information. +# +# +# <fs> <mountpoint> <type> <opts> <dump/pass> +UUID=XXXX-XXXX /boot vfat defaults,noatime 0 2 +UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx / btrfs subvol=/@,defaults,noatime,autodefrag,compress=zstd 0 0 +``` + +ls /usr/share/zoneinfo +echo "US/Eastern" > /etc/timezone +emerge --config sys-libs/timezone-data + +nano /etc/[locale.gen](locale.gen) +locale-gen +eselect locale list +eselect locale set x + +env-update && source /etc/profile + +emerge -av sys-fs/dosfstools + +echo 'dev-lang/rust' >> /etc/portage/package.mask + +>? +emerge -avuND @world - or not because not runninf update-m1n1 again before reboot ... +OPENRC? +>? + +exit + +umount -l /mnt/gentoo/dev{/shm,/pts,} +umount -R /mnt/gentoo + +reboot + + + +# USERLAND + +## setup sudo +emerge app-admin/sudo +visudo +``` +# Allow members of group sudo to execute any command without any password +%sudo ALL=(ALL:ALL) ALL +%sudo ALL=NOPASSWD: ALL +``` + +## Add User +useradd -m -G users,wheel,audio,sudo ??? $USER +passwd $USER + +> choose Cron pkg + +## ZSH +emerge app-shells/zsh app-shells/zsh-completions app-shells/gentoo-zsh-completions app-shells/zsh-syntax-highlighting +chsh -s /bin/zsh + +## EIX +emerge app-portage/eix +eix-update + +## using git to sync repos instead of rsync - /var/db/repos/gentoo +vim /etc/portage/repos.conf/gentoo.conf +``` +[DEFAULT] +main-repo = gentoo + +[gentoo] +location = /var/db/repos/gentoo +sync-type = git +sync-uri = https://gitweb.gentoo.org/repo/sync/gentoo.git +auto-sync = yes +sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc +sync-openpgp-key-refresh-retry-count = 40 +sync-openpgp-key-refresh-retry-overall-timeout = 1200 +sync-openpgp-key-refresh-retry-delay-exp-base = 2 +sync-openpgp-key-refresh-retry-delay-max = 60 +sync-openpgp-key-refresh-retry-delay-mult = 4 +``` diff --git a/cs/Gentoo/Asahi - Gentoo - Wayland setup.md b/cs/Gentoo/Asahi - Gentoo - Wayland setup.md index 87955ee..e69de29 100644 --- a/cs/Gentoo/Asahi - Gentoo - Wayland setup.md +++ b/cs/Gentoo/Asahi - Gentoo - Wayland setup.md @@ -1,254 +0,0 @@ - -curl https://alx.sh | sh - - - -# From gentoo livecd - -net-setup -ifconfig -lsblk - -fdisk /dev/nvmeX -- 512M EFI -- 130GB Root - -mkfs.fat -F32 /dev/nvmeEFI -mkfs.btrfs -f /dev/nvmeRoot - -mount /dev/nvmeRoot /mnt/gentoo -mkdir -p /mnt/gentoo/boot/ -mount /dev/nvmeEFI /mnt/gentoo/boot/ - -> vendorfw ? - -wget stage3 -tar xpvf stage3-X.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo - -nano /mnt/gentoo/etc/portage/make.conf -``` -# vim: set language=bash; -CHOST="aarch64-unknown-linux-gnu" - -# Optimization flags. -COMMON_FLAGS="-march=armv8.5-a+fp16+simd+crypto+i8mm -mtune=native -O2 -pipe" -CFLAGS="${COMMON_FLAGS}" -CXXFLAGS="${COMMON_FLAGS}" -FCFLAGS="${COMMON_FLAGS}" -FFLAGS="${COMMON_FLAGS}" -RUSTFLAGS="-C target-cpu=native" - -LC_MESSAGES=C - -MAKEOPTS="-j(nproc)" ************* -EMERGE_DEFAULT_OPTS="--jobs 3" -ACCEPT_LICENSE="linux-fw-redristribuable no-source-code" - -GENTOO_MIRRORS="" ??????????????? -VIDEO_CARDS="asahi" ???????????? - -# Keep a newline at the end! Important! -``` - -> ? necessary ? - -cp -r /boot /mnt/gentoo -cp -r /usr/lib/modules /mnt/gentoo/usr/lib -cp -r /usr/lib/firmware /mnt/gentoo/usr/lib - -> ? The --make-rslave operations are needed for systemd support later in the installation. - -mount --types proc /proc /mnt/gentoo/proc -mount --rbind /sys /mnt/gentoo/sys -mount --make-rslave /mnt/gentoo/sys -mount --rbind /dev /mnt/gentoo/dev -mount --make-rslave /mnt/gentoo/dev -mount --bind /run /mnt/gentoo/run -mount --make-slave /mnt/gentoo/run - - -chroot /mnt/gentoo /bin/bash -source /etc/profile - -emerge-webrsync -emerge --sync - -emerge -1 sys-apps/portage - -eselect profile - -emerge -av dev-vcs/git -git clone https://github.com/chadmed/asahi-gentoosupport -cd asahi-gentoosupport -./install.sh - -``` -set -e - -install_overlay() { - echo "Installing the Asahi Overlay. For more information, visit" - echo "https://github.com/chadmed/asahi-overlay/" - echo - - emerge -q eselect-repository - eselect repository enable asahi - emaint sync -r asahi - echo "The Asahi overlay has been installed." -} - -install_meta() { - echo "We will now install the Asahi metapackage with some sane" - echo "defaults to get you started. This step will:" - echo " * Emerge rust-bin (you can switch to the compiled rust later)" - echo " * Add VIDEO_CARDS=\"asahi\" to /etc/portage/make.conf" - echo " * Emerge the Asahi metapackage" - echo " * Emerge the Asahi dist-kernel (you may switch to asahi-sources later)" - echo " * Unpack the Asahi firmware" - echo " * Update m1n1 and U-Boot" - read -sp "Press Enter to continue..." - - [ ! -d /etc/portage/package.mask ] && mkdir /etc/portage/package.mask - cp resources/package.mask /etc/portage/package.mask/asahi - [ ! -d /etc/portage/package.use ] && mkdir /etc/portage/package.use - cp resources/package.use /etc/portage/package.use/asahi - [ ! -d /etc/portage/package.license ] && mkdir /etc/portage/package.license - echo "sys-kernel/linux-firmware linux-fw-redistributable no-source-code" > /etc/portage/package.license/firmware - echo "VIDEO_CARDS=\"asahi\"" >> /etc/portage/make.conf - - emerge -q1 dev-lang/rust-bin - emerge -q sys-apps/asahi-meta virtual/dist-kernel:asahi sys-kernel/linux-firmware - asahi-fwupdate - update-m1n1 -} - -install_grub() { - echo "Installing GRUB." - echo "GRUB_PLATFORMS=\"efi-64\"" >> /etc/portage/make.conf - emerge -q grub:2 - grub-install --boot-directory=/boot/ --efi-directory=/boot/ --removable - grub-mkconfig -o /boot/grub/grub.cfg - echo "GRUB has been installed." -} - - -if [[ $(whoami) != "root" ]]; then - echo "You must run this script as root." - exit 1 -fi - -if [[ ! -d /boot/vendorfw ]]; then - echo "We use ESP-as-boot. Please mount the Asahi ESP to /boot before" - echo "continuing. This is absolutely essential for the system" - echo "to function correctly." - exit 1 -fi - - -echo "This script automates the setup and configuration of Apple Silicon" -echo "specific tooling for Gentoo Linux. Please mount the ESP to /boot." -echo -echo "NOTE: This script will install linux-firmware automatically. It is not" -echo "possible to run these machines properly without binary blobs. Please make" -echo "sure you understand this, and agree to the linux-fw-redistributable and" -echo "no-source-code licenses before continuing." -echo -read -sp "Press Enter to continue..." - - -install_overlay - -install_meta - -install_grub - -echo "This script will now exit. Continue setting up your machine as per the" -echo "Gentoo Handbook, skipping the steps related to setting up the kernel or" -echo "GRUB as these have been done for you. Don't forget to add /boot to your" -echo "fstab!" -``` - -lsblk -blkid - -nano /etc/fstab -``` -# /etc/fstab: static file system information. -# -# -# <fs> <mountpoint> <type> <opts> <dump/pass> -UUID=XXXX-XXXX /boot vfat defaults,noatime 0 2 -UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx / btrfs subvol=/@,defaults,noatime,autodefrag,compress=zstd 0 0 -``` - -ls /usr/share/zoneinfo -echo "US/Eastern" > /etc/timezone -emerge --config sys-libs/timezone-data - -nano /etc/[locale.gen](locale.gen) -locale-gen -eselect locale list -eselect locale set x - -env-update && source /etc/profile - -emerge -av sys-fs/dosfstools - -echo 'dev-lang/rust' >> /etc/portage/package.mask - ->? -emerge -avuND @world - or not because not runninf update-m1n1 again before reboot ... -OPENRC? ->? - -exit - -umount -l /mnt/gentoo/dev{/shm,/pts,} -umount -R /mnt/gentoo - -reboot - - - -# USERLAND - -## setup sudo -emerge app-admin/sudo -visudo -``` -# Allow members of group sudo to execute any command without any password -%sudo ALL=(ALL:ALL) ALL -%sudo ALL=NOPASSWD: ALL -``` - -## Add User -useradd -m -G users,wheel,audio,sudo ??? $USER -passwd $USER - -> choose Cron pkg - -## ZSH -emerge app-shells/zsh app-shells/zsh-completions app-shells/gentoo-zsh-completions app-shells/zsh-syntax-highlighting -chsh -s /bin/zsh - -## EIX -emerge app-portage/eix -eix-update - -## using git to sync repos instead of rsync - /var/db/repos/gentoo -vim /etc/portage/repos.conf/gentoo.conf -``` -[DEFAULT] -main-repo = gentoo - -[gentoo] -location = /var/db/repos/gentoo -sync-type = git -sync-uri = https://gitweb.gentoo.org/repo/sync/gentoo.git -auto-sync = yes -sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc -sync-openpgp-key-refresh-retry-count = 40 -sync-openpgp-key-refresh-retry-overall-timeout = 1200 -sync-openpgp-key-refresh-retry-delay-exp-base = 2 -sync-openpgp-key-refresh-retry-delay-max = 60 -sync-openpgp-key-refresh-retry-delay-mult = 4 -``` diff --git a/cs/Gentoo/index.md b/cs/Gentoo/index.md index 139af81..4a133a9 100644 --- a/cs/Gentoo/index.md +++ b/cs/Gentoo/index.md @@ -1,5 +1,5 @@ -[[Asahi - Gentoo - Wayland setup]] +[[Asahi - Gentoo - Wayland - Suckless Setup]] |
