diff options
Diffstat (limited to 'cs/Gentoo/Asahi - Gentoo - Wayland setup.md')
| -rw-r--r-- | cs/Gentoo/Asahi - Gentoo - Wayland setup.md | 254 |
1 files changed, 0 insertions, 254 deletions
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 -``` |
