Examine individual changes

From Gentoo Wiki
Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to:navigation Jump to:search

This page allows you to examine the variables generated by the Abuse Filter for an individual change, and test it against filters.

Variables generated for this change

VariableValue
Edit count of the user (user_editcount)
12
Name of the user account (user_name)
'Neilklingensmith'
Age of the user account (user_age)
57186947
Page ID (page_id)
322996
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'Apple Silicon VMware Guide'
Full page title (page_prefixedtitle)
'Apple Silicon VMware Guide'
Action (action)
'edit'
Edit summary/reason (summary)
'/* Setting Up make.conf */ '
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'This page describes the process of installing Gentoo on VMware Fusion Tech Preview on Apple Silicon Mac. The procedure in this guide has been tested on the following platforms: *Apple MacBook Pro, M1 Max CPU, VMware Fusion Tech Preview 22H2 ==VM Settings== Before booting the VM, change the settings: #'''Hard Disk Bus Type''' Go to ''VM Settings > Hard Disk > Advanced > Bus Type''. Set bus type to SATA. #'''Hard Disk Size''' Set the disk size to at least 30 Gbytes. #'''Memory Size''' Go to ''VM Settings > Processors & Memory'' and configure the VM with at least 4 Gbytes of memory. #'''Number of CPUs''' In ''VM Settings > Processors & Memory'' set the number of Processors. ==Preparing the Disks== Once the VM is booted, start by preparing the disks using {{c|fdisk}}. This guide uses GPT partition table and UEFI firmware. <code>livecd ~ # fdisk /dev/sda Command (m for help): g Created a new GPT disklabel (GUID: A75C1035-8C9C-2749-9F86-73C15F41A835). Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835</code> ===Create the EFI System Partition=== <code>Command (m for help): n Partition number (1-128, default 1): 1 First sector (2048-83886046, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886046, default 83886046): +256M Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB. Command (m for help): t Selected partition 1 Partition type or alias (type L to list all): 1 Changed type of partition 'Linux filesystem' to 'EFI System'. Command (m for help):</code> === Create Root Partition=== Create a second partition, and accept the default values for all prompts: <code>Command (m for help): n Partition number (2-128, default 2): First sector (526336-83886046, default 526336): Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-83886046, default 83886046): Created a new partition 2 of type 'Linux filesystem' and of size 39.7 GiB.</code> When partitioning is complete, the layout should look like: <code>Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835 Device Start End Sectors Size Type /dev/sda1 2048 526335 524288 256M EFI System /dev/sda2 526336 83886046 83359711 39.7G Linux filesystem</code> Use the <code>w</code> command to write the new partition layout to disk: <code>Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.</code> ==Creating Filesystems == Each of the partitions that were just created needs to have a filesystem stored on it to save files: {{RootCmd|prompt=livecd ~ #|mkfs.vfat -F 32 /dev/sda1 |mkfs.ext4 /dev/sda2}} == Mounting the root partition == {{RootCmd|prompt=livecd ~ #|mount /dev/sda2 /mnt/gentoo}} == Getting a Stage 3 Tarball== Go to the Gentoo downloads page and copy the link to the stage 3 tarball. '''MAKE SURE TO GET THE ARM64''' version. This is a compressed file that contains a minimal filesystem for your new Gentoo installation. Inside the VM, use the {{c|wget}} utility to download that stage 3 tarball. '''Before downloading the stage 3''', make sure to {{c|cd /mnt/gentoo}}, the directory where the rootfs was mounted in the last step. {{RootCmd|prompt=livecd ~ #|cd /mnt/gentoo}} {{RootCmd|prompt=livecd /mnt/gentoo #|1=wget <URL OF STAGE3>}} Next, extract the tarball into the rootfs: {{RootCmd|prompt=livecd /mnt/gentoo #|1=tar xpf <STAGE3 FILE NAME> --xattrs-include='*.*' --numeric-owner}} ===Setting Up make.conf=== The {{Path|make.conf}} file has config options that tell Gentoo's package manager how to compile packages. A sample {{Path|make.conf}} is below {{FileBox|filename=/etc/portage/make.conf|lang=bash|1= # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. COMMON_FLAGS="-O2" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" # WARNING: Changing your CHOST is not something that should be done lightly. CHOST="aarch64-unknown-linux-gnu" # NOTE: This stage was built with the bindist Use flag enabled # This sets the language of build output to English. # Please keep this setting intact when reporting bugs. LC_MESSAGES=C.utf8 USE="-qt5 -kde X gtk gnome -gnome-online-accounts -wireless -bluetooth -ppp" MAKEOPTS="-j8" ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" VIDEO_CARDS="vmware fbdev" CPU_FLAGS_ARM="aes sha3 crc32 neon v8 vfpv4"}} '''Note:''' The <code>-march=native</code> flag seemed to cause problems when compiling ffmpeg, so it has been removed in this sample <code>make.conf</code>. == Chrooting== Copy {{Path|resolv.conf}} which contains DNS server info, into the new rootfs: {{RootCmd|prompt=livecd /mnt/gentoo #|cp /etc/resolv.conf /mnt/gentoo/etc/}} Mount a bunch of pseudo filesystems needed by Linux: {{RootCmd|prompt=livecd /mnt/gentoo #|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}} ===Enter the new rootfs environment=== {{RootCmd|prompt=livecd /mnt/gentoo #|chroot /mnt/gentoo /bin/bash |. /etc/profile |export PS1="(chroot) ${PS1}"}} Mount the {{Path|/boot}} partition: {{RootCmd|prompt=(chroot) livecd / #|mount /dev/sda1 /boot}} ===Configure Portage=== {{RootCmd|prompt=(chroot) livecd / #|emerge-webrsync |emerge --sync}} Update the <code>@world</code> package list: {{RootCmd|prompt=(chroot) livecd / #|emerge --ask --verbose --update --deep --newuse @world}} ===Setting the Timezone === {{RootCmd|prompt=(chroot) livecd / #|echo "America/Chicago" > /etc/timezone |emerge --config sys-libs/timezone-data}} == Configuring the Kernel == Install the <code>linux-firmware</code> and <code>gentoo-sources</code> packages: {{RootCmd|prompt=(chroot) livecd / #|emerge --ask sys-kernel/linux-firmware |emerge --ask sys-kernel/gentoo-sources}} <code>gentoo-sources</code> gives us the Linux kernel source, which must be hand-built. {{RootCmd|prompt=(chroot) livecd / #|eselect kernel list|output=<pre> [1] linux-5.15.80-gentoo</pre>}} {{RootCmd|prompt=(chroot) livecd / #|eselect kernel set 1 |cd /usr/src/linux}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|1=make menuconfig}} The minimum requirement to make the VM boot is enabling the DRM driver in the kernel. This is needed to display a terminal prompt. {{KernelBox|title=Enable support for VMware DRM|1= -> Device Drivers -> Graphics support [*] DRM driver for VMware Virtual GPU }} If you also want <code>open-vm-tools</code> integration, which provides performance improvements and improved integration with the host (shared clipboard, etc), enable the following in the kernel: {{KernelBox|title=Enable support for VMware DRM|1= -> Device Drivers -> Network device support [*] VMware VMXNET3 ethernet driver }} When this guide was written (Jan 2023), most of the host integration features in the kernel were only supported on x86. After configuring your kernel, you can build and install it. The following command uses <code>-j10</code> to start 10 build jobs. Usually the number of build jobs should be the same as the number of CPU cores you configured your VM with. The more build jobs you use, the faster your build will finish. {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|1=make -j10 Image && make install && make modules_install}} Install <code>dhcpcd</code>, needed to get IP address via DHCP: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|emerge dhcpcd |rc-update add dhcpcd default}} Find the name of the VM's Ethernet interface by looking at the output of <code>ifconfig</code>. In this example, it's called <code>ens160</code>: <code>ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.44.130 netmask 255.255.255.0 broadcast 172.16.44.255 inet6 fe80::23be:d7df:9454:bb82 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c8:a5:1d txqueuelen 1000 (Ethernet) RX packets 807368 bytes 1097038659 (1.0 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 292703 bytes 28455835 (27.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 69 memory 0x38500000-38520000 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 1952 bytes 155712 (152.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1952 bytes 155712 (152.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</code> {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|1=nano /etc/conf.d/net}} {{FileBox|filename=/etc/conf.d/net|title=/etc/conf.d/net example|1= config_ens160="dhcp"}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|cd /etc/init.d |ln -s net.lo net.ens160 |rc-update add net.ens160 default|output=<pre> * service net.ens160 added to runlevel default </pre>}} == Set the Root Password== Use the <code>passwd</code> utility to set the root password. It might look like your characters aren't registering them when you type them, but they are. The utility just doensn't print anything on the screen when you're typing a password. {{RootCmd|prompt=(chroot) livecd /etc/init.d #|passwd}} ==Bootloader== Installing Grub {{RootCmd|prompt=(chroot) livecd /etc/init.d #|emerge --ask --verbose sys-boot/grub}} {{RootCmd|prompt=(chroot) livecd /etc/init.d #|1=grub-install --target=arm64-efi --efi-directory=/boot --bootloader-id=Gentoo}} {{RootCmd|prompt=(chroot) livecd /etc/init.d #|grub-mkconfig -o /boot/grub/grub.cfg}} == Rebooting the System== {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|exit |cd|umount -R /mnt/gentoo|reboot}} ==Gnome== ====Background==== When this guide was written (Jan 2023), there were a lot of unstable video and device drivers in Gentoo that are required to install Gnome. In order to install the required drivers (vmware mouse and video drivers), we need to manually unmask them. ====Unmasking Packages and USE flags==== Need to unmask the fbdev and vmware video drivers to allow them to be installed. Create a new file <code>/etc/portage/profile/use.mask</code>: {{FileBox|filename=/etc/portage/profile/use.mask|title=/etc/portage/profile/use.mask|1= -video_cards_vmware -video_cards_fbdev}} Enable gnome-light by providing ACCEPT_KEYWORDS variable. Create the file <code>/etc/portage/package.accept_keywords/gnome_light</code> with the following contents: {{FileBox|filename=/etc/portage/package.accept_keywords/gnome_light|title=/etc/portage/package.accept_keywords/gnome_light|1= gnome-base/gnome-light ** x11-drivers/xf86-video-vmware ** x11-drivers/xf86-video-fbdev **}} Set use flags for mesa by creating <code>/etc/portage/package.use/mesa</code> with the following contents: {{FileBox|filename=/etc/portage/package.use/mesa|title=/etc/portage/package.use/mesa|1= media-libs/mesa xa}} ====Installing Gnome==== Need to set your profile to Gnome Desktop: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|eselect profile list|output=<pre> Available profile symlink targets: [1] default/linux/amd64/23.0 (stable) [2] default/linux/amd64/23.0/systemd (stable) [3] default/linux/amd64/23.0/desktop (stable) * [4] default/linux/amd64/23.0/desktop/systemd (stable) [5] default/linux/amd64/23.0/desktop/gnome (stable) [6] default/linux/amd64/23.0/desktop/gnome/systemd (stable) [7] default/linux/amd64/23.0/desktop/plasma (stable) [8] default/linux/amd64/23.0/desktop/plasma/systemd (stable) [9] default/linux/amd64/23.0/no-multilib (stable) [10] default/linux/amd64/23.0/no-multilib/systemd (stable) [11] default/linux/amd64/23.0/no-multilib/hardened (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/systemd (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/selinux (stable) [14] default/linux/amd64/23.0/no-multilib/hardened/selinux/systemd (stable) [15] default/linux/amd64/23.0/no-multilib/prefix (exp) [16] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.32+ (exp) [17] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.16+ (exp) [18] default/linux/amd64/23.0/no-multilib/prefix/kernel-3.2+ (exp) [19] default/linux/amd64/23.0/llvm (stable) [20] default/linux/amd64/23.0/llvm/systemd (stable) [21] default/linux/amd64/23.0/hardened (stable) [22] default/linux/amd64/23.0/hardened/systemd (stable) [23] default/linux/amd64/23.0/hardened/selinux (stable) [24] default/linux/amd64/23.0/hardened/selinux/systemd (stable) [25] default/linux/amd64/23.0/split-usr (stable) [26] default/linux/amd64/23.0/split-usr/desktop (stable) [27] default/linux/amd64/23.0/split-usr/desktop/gnome (stable) [28] default/linux/amd64/23.0/split-usr/desktop/plasma (stable) [29] default/linux/amd64/23.0/split-usr/no-multilib (stable) [30] default/linux/amd64/23.0/split-usr/no-multilib/selinux (stable) [31] default/linux/amd64/23.0/split-usr/no-multilib/hardened (stable) [32] default/linux/amd64/23.0/split-usr/no-multilib/hardened/selinux (stable) [33] default/linux/amd64/23.0/split-usr/no-multilib/prefix (exp) [34] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.32+ (exp) [35] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.16+ (exp) [36] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-3.2+ (exp) [37] default/linux/amd64/23.0/split-usr/llvm (stable) [38] default/linux/amd64/23.0/split-usr/hardened (stable) [39] default/linux/amd64/23.0/split-usr/hardened/selinux (stable) [40] default/linux/amd64/23.0/musl (dev) [41] default/linux/amd64/23.0/musl/llvm (exp) [43] default/linux/amd64/23.0/musl/hardened (exp) [43] default/linux/amd64/23.0/musl/hardened/selinux (exp) [44] default/linux/amd64/23.0/split-usr/musl (dev) [45] default/linux/amd64/23.0/split-usr/musl/llvm (exp) [46] default/linux/amd64/23.0/split-usr/musl/hardened (exp) [47] default/linux/amd64/23.0/split-usr/musl/hardened/selinux (exp) </pre>}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|eselect profile set default/linux/amd64/23.0/desktop/gnome |emerge gnome-light}} Start <code>dbus</code> service, needed by X (and Gnome) {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|/etc/init.d/dbus start |rc-update add dbus default}} Set display manager to GDM: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|nano /etc/conf.d/display-manager}} {{FileBox|filename=/etc/conf.d/display-manager|title=/etc/conf.d/display-manager|1= DISPLAYMANAGER="gdm"}} Start the login manager: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|/etc/init.d/xdm start}} ==== Optional: Installing <code>open-vm-tools</code> ==== The <code>open-vm-tools</code>, provides some nice integration features between host and guest. When this guide was written, a lot of the kernel drivers that are required to support host integration are x86-only, but some stuff (like HGFS file sharing) still works. Since <code>open-vm-tools</code> is still experimental, unmask it: {{FileBox|filename=/etc/portage/package.accept_keywords/open-vm-tools|title=/etc/portage/package.accept_keywords/open-vm-tools|1= app-emulation/open-vm-tools ** dev-libs/libdnet **}} Then add USE flags for <code>open-vm-tools</code> {{FileBox|filename=/etc/portage/package.use/open-vm-tools|title=/etc/portage/package.use/open-vm-tools|1= app-emulation/open-vm-tools gtkmm resolutionkms fuse}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|emerge open-vm-tools}} ====Troubleshooting==== Check the log file <code>/var/log/Xorg.0.log</code> for error messages. Error lines start with <code>EE</code>. [[Category:Guide]]'
New page wikitext, after the edit (new_wikitext)
'This page describes the process of installing Gentoo on VMware Fusion Tech Preview on Apple Silicon Mac. The procedure in this guide has been tested on the following platforms: *Apple MacBook Pro, M1 Max CPU, VMware Fusion Tech Preview 22H2 ==VM Settings== Before booting the VM, change the settings: #'''Hard Disk Bus Type''' Go to ''VM Settings > Hard Disk > Advanced > Bus Type''. Set bus type to SATA. #'''Hard Disk Size''' Set the disk size to at least 30 Gbytes. #'''Memory Size''' Go to ''VM Settings > Processors & Memory'' and configure the VM with at least 4 Gbytes of memory. #'''Number of CPUs''' In ''VM Settings > Processors & Memory'' set the number of Processors. ==Preparing the Disks== Once the VM is booted, start by preparing the disks using {{c|fdisk}}. This guide uses GPT partition table and UEFI firmware. <code>livecd ~ # fdisk /dev/sda Command (m for help): g Created a new GPT disklabel (GUID: A75C1035-8C9C-2749-9F86-73C15F41A835). Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835</code> ===Create the EFI System Partition=== <code>Command (m for help): n Partition number (1-128, default 1): 1 First sector (2048-83886046, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886046, default 83886046): +256M Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB. Command (m for help): t Selected partition 1 Partition type or alias (type L to list all): 1 Changed type of partition 'Linux filesystem' to 'EFI System'. Command (m for help):</code> === Create Root Partition=== Create a second partition, and accept the default values for all prompts: <code>Command (m for help): n Partition number (2-128, default 2): First sector (526336-83886046, default 526336): Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-83886046, default 83886046): Created a new partition 2 of type 'Linux filesystem' and of size 39.7 GiB.</code> When partitioning is complete, the layout should look like: <code>Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835 Device Start End Sectors Size Type /dev/sda1 2048 526335 524288 256M EFI System /dev/sda2 526336 83886046 83359711 39.7G Linux filesystem</code> Use the <code>w</code> command to write the new partition layout to disk: <code>Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.</code> ==Creating Filesystems == Each of the partitions that were just created needs to have a filesystem stored on it to save files: {{RootCmd|prompt=livecd ~ #|mkfs.vfat -F 32 /dev/sda1 |mkfs.ext4 /dev/sda2}} == Mounting the root partition == {{RootCmd|prompt=livecd ~ #|mount /dev/sda2 /mnt/gentoo}} == Getting a Stage 3 Tarball== Go to the Gentoo downloads page and copy the link to the stage 3 tarball. '''MAKE SURE TO GET THE ARM64''' version. This is a compressed file that contains a minimal filesystem for your new Gentoo installation. Inside the VM, use the {{c|wget}} utility to download that stage 3 tarball. '''Before downloading the stage 3''', make sure to {{c|cd /mnt/gentoo}}, the directory where the rootfs was mounted in the last step. {{RootCmd|prompt=livecd ~ #|cd /mnt/gentoo}} {{RootCmd|prompt=livecd /mnt/gentoo #|1=wget <URL OF STAGE3>}} Next, extract the tarball into the rootfs: {{RootCmd|prompt=livecd /mnt/gentoo #|1=tar xpf <STAGE3 FILE NAME> --xattrs-include='*.*' --numeric-owner}} ===Setting Up make.conf=== The {{Path|make.conf}} file has config options that tell Gentoo's package manager how to compile packages. A sample {{Path|make.conf}} is below {{FileBox|filename=/etc/portage/make.conf|lang=bash|1= # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. COMMON_FLAGS="-O2 -pipe" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing. CHOST="aarch64-unknown-linux-gnu" # NOTE: This stage was built with the bindist USE flag enabled # This sets the language of build output to English. # Please keep this setting intact when reporting bugs. LC_MESSAGES=C,utf8 USE="-qt5 -kde X gtk gnome -gnome-online-accounts -wireless -bluetooth -ppp" MAKEOPTS="-j8" ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" VIDEO_CARDS="vmware fbdev" CPU_FLAGS_ARM="aes sha1 sha2 sha3 crc32 neon v8 vfpv4"}} '''Note:''' The <code>-march=native</code> flag seemed to cause problems when compiling ffmpeg, so it has been removed in this sample <code>make.conf</code>. == Chrooting== Copy {{Path|resolv.conf}} which contains DNS server info, into the new rootfs: {{RootCmd|prompt=livecd /mnt/gentoo #|cp /etc/resolv.conf /mnt/gentoo/etc/}} Mount a bunch of pseudo filesystems needed by Linux: {{RootCmd|prompt=livecd /mnt/gentoo #|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}} ===Enter the new rootfs environment=== {{RootCmd|prompt=livecd /mnt/gentoo #|chroot /mnt/gentoo /bin/bash |. /etc/profile |export PS1="(chroot) ${PS1}"}} Mount the {{Path|/boot}} partition: {{RootCmd|prompt=(chroot) livecd / #|mount /dev/sda1 /boot}} ===Configure Portage=== {{RootCmd|prompt=(chroot) livecd / #|emerge-webrsync |emerge --sync}} Update the <code>@world</code> package list: {{RootCmd|prompt=(chroot) livecd / #|emerge --ask --verbose --update --deep --newuse @world}} ===Setting the Timezone === {{RootCmd|prompt=(chroot) livecd / #|echo "America/Chicago" > /etc/timezone |emerge --config sys-libs/timezone-data}} == Configuring the Kernel == Install the <code>linux-firmware</code> and <code>gentoo-sources</code> packages: {{RootCmd|prompt=(chroot) livecd / #|emerge --ask sys-kernel/linux-firmware |emerge --ask sys-kernel/gentoo-sources}} <code>gentoo-sources</code> gives us the Linux kernel source, which must be hand-built. {{RootCmd|prompt=(chroot) livecd / #|eselect kernel list|output=<pre> [1] linux-5.15.80-gentoo</pre>}} {{RootCmd|prompt=(chroot) livecd / #|eselect kernel set 1 |cd /usr/src/linux}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|1=make menuconfig}} The minimum requirement to make the VM boot is enabling the DRM driver in the kernel. This is needed to display a terminal prompt. {{KernelBox|title=Enable support for VMware DRM|1= -> Device Drivers -> Graphics support [*] DRM driver for VMware Virtual GPU }} If you also want <code>open-vm-tools</code> integration, which provides performance improvements and improved integration with the host (shared clipboard, etc), enable the following in the kernel: {{KernelBox|title=Enable support for VMware DRM|1= -> Device Drivers -> Network device support [*] VMware VMXNET3 ethernet driver }} When this guide was written (Jan 2023), most of the host integration features in the kernel were only supported on x86. After configuring your kernel, you can build and install it. The following command uses <code>-j10</code> to start 10 build jobs. Usually the number of build jobs should be the same as the number of CPU cores you configured your VM with. The more build jobs you use, the faster your build will finish. {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|1=make -j10 Image && make install && make modules_install}} Install <code>dhcpcd</code>, needed to get IP address via DHCP: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|emerge dhcpcd |rc-update add dhcpcd default}} Find the name of the VM's Ethernet interface by looking at the output of <code>ifconfig</code>. In this example, it's called <code>ens160</code>: <code>ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.44.130 netmask 255.255.255.0 broadcast 172.16.44.255 inet6 fe80::23be:d7df:9454:bb82 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c8:a5:1d txqueuelen 1000 (Ethernet) RX packets 807368 bytes 1097038659 (1.0 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 292703 bytes 28455835 (27.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 69 memory 0x38500000-38520000 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 1952 bytes 155712 (152.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1952 bytes 155712 (152.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</code> {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|1=nano /etc/conf.d/net}} {{FileBox|filename=/etc/conf.d/net|title=/etc/conf.d/net example|1= config_ens160="dhcp"}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|cd /etc/init.d |ln -s net.lo net.ens160 |rc-update add net.ens160 default|output=<pre> * service net.ens160 added to runlevel default </pre>}} == Set the Root Password== Use the <code>passwd</code> utility to set the root password. It might look like your characters aren't registering them when you type them, but they are. The utility just doensn't print anything on the screen when you're typing a password. {{RootCmd|prompt=(chroot) livecd /etc/init.d #|passwd}} ==Bootloader== Installing Grub {{RootCmd|prompt=(chroot) livecd /etc/init.d #|emerge --ask --verbose sys-boot/grub}} {{RootCmd|prompt=(chroot) livecd /etc/init.d #|1=grub-install --target=arm64-efi --efi-directory=/boot --bootloader-id=Gentoo}} {{RootCmd|prompt=(chroot) livecd /etc/init.d #|grub-mkconfig -o /boot/grub/grub.cfg}} == Rebooting the System== {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|exit |cd|umount -R /mnt/gentoo|reboot}} ==Gnome== ====Background==== When this guide was written (Jan 2023), there were a lot of unstable video and device drivers in Gentoo that are required to install Gnome. In order to install the required drivers (vmware mouse and video drivers), we need to manually unmask them. ====Unmasking Packages and USE flags==== Need to unmask the fbdev and vmware video drivers to allow them to be installed. Create a new file <code>/etc/portage/profile/use.mask</code>: {{FileBox|filename=/etc/portage/profile/use.mask|title=/etc/portage/profile/use.mask|1= -video_cards_vmware -video_cards_fbdev}} Enable gnome-light by providing ACCEPT_KEYWORDS variable. Create the file <code>/etc/portage/package.accept_keywords/gnome_light</code> with the following contents: {{FileBox|filename=/etc/portage/package.accept_keywords/gnome_light|title=/etc/portage/package.accept_keywords/gnome_light|1= gnome-base/gnome-light ** x11-drivers/xf86-video-vmware ** x11-drivers/xf86-video-fbdev **}} Set use flags for mesa by creating <code>/etc/portage/package.use/mesa</code> with the following contents: {{FileBox|filename=/etc/portage/package.use/mesa|title=/etc/portage/package.use/mesa|1= media-libs/mesa xa}} ====Installing Gnome==== Need to set your profile to Gnome Desktop: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|eselect profile list|output=<pre> Available profile symlink targets: [1] default/linux/amd64/23.0 (stable) [2] default/linux/amd64/23.0/systemd (stable) [3] default/linux/amd64/23.0/desktop (stable) * [4] default/linux/amd64/23.0/desktop/systemd (stable) [5] default/linux/amd64/23.0/desktop/gnome (stable) [6] default/linux/amd64/23.0/desktop/gnome/systemd (stable) [7] default/linux/amd64/23.0/desktop/plasma (stable) [8] default/linux/amd64/23.0/desktop/plasma/systemd (stable) [9] default/linux/amd64/23.0/no-multilib (stable) [10] default/linux/amd64/23.0/no-multilib/systemd (stable) [11] default/linux/amd64/23.0/no-multilib/hardened (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/systemd (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/selinux (stable) [14] default/linux/amd64/23.0/no-multilib/hardened/selinux/systemd (stable) [15] default/linux/amd64/23.0/no-multilib/prefix (exp) [16] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.32+ (exp) [17] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.16+ (exp) [18] default/linux/amd64/23.0/no-multilib/prefix/kernel-3.2+ (exp) [19] default/linux/amd64/23.0/llvm (stable) [20] default/linux/amd64/23.0/llvm/systemd (stable) [21] default/linux/amd64/23.0/hardened (stable) [22] default/linux/amd64/23.0/hardened/systemd (stable) [23] default/linux/amd64/23.0/hardened/selinux (stable) [24] default/linux/amd64/23.0/hardened/selinux/systemd (stable) [25] default/linux/amd64/23.0/split-usr (stable) [26] default/linux/amd64/23.0/split-usr/desktop (stable) [27] default/linux/amd64/23.0/split-usr/desktop/gnome (stable) [28] default/linux/amd64/23.0/split-usr/desktop/plasma (stable) [29] default/linux/amd64/23.0/split-usr/no-multilib (stable) [30] default/linux/amd64/23.0/split-usr/no-multilib/selinux (stable) [31] default/linux/amd64/23.0/split-usr/no-multilib/hardened (stable) [32] default/linux/amd64/23.0/split-usr/no-multilib/hardened/selinux (stable) [33] default/linux/amd64/23.0/split-usr/no-multilib/prefix (exp) [34] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.32+ (exp) [35] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.16+ (exp) [36] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-3.2+ (exp) [37] default/linux/amd64/23.0/split-usr/llvm (stable) [38] default/linux/amd64/23.0/split-usr/hardened (stable) [39] default/linux/amd64/23.0/split-usr/hardened/selinux (stable) [40] default/linux/amd64/23.0/musl (dev) [41] default/linux/amd64/23.0/musl/llvm (exp) [43] default/linux/amd64/23.0/musl/hardened (exp) [43] default/linux/amd64/23.0/musl/hardened/selinux (exp) [44] default/linux/amd64/23.0/split-usr/musl (dev) [45] default/linux/amd64/23.0/split-usr/musl/llvm (exp) [46] default/linux/amd64/23.0/split-usr/musl/hardened (exp) [47] default/linux/amd64/23.0/split-usr/musl/hardened/selinux (exp) </pre>}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|eselect profile set default/linux/amd64/23.0/desktop/gnome |emerge gnome-light}} Start <code>dbus</code> service, needed by X (and Gnome) {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|/etc/init.d/dbus start |rc-update add dbus default}} Set display manager to GDM: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|nano /etc/conf.d/display-manager}} {{FileBox|filename=/etc/conf.d/display-manager|title=/etc/conf.d/display-manager|1= DISPLAYMANAGER="gdm"}} Start the login manager: {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|/etc/init.d/xdm start}} ==== Optional: Installing <code>open-vm-tools</code> ==== The <code>open-vm-tools</code>, provides some nice integration features between host and guest. When this guide was written, a lot of the kernel drivers that are required to support host integration are x86-only, but some stuff (like HGFS file sharing) still works. Since <code>open-vm-tools</code> is still experimental, unmask it: {{FileBox|filename=/etc/portage/package.accept_keywords/open-vm-tools|title=/etc/portage/package.accept_keywords/open-vm-tools|1= app-emulation/open-vm-tools ** dev-libs/libdnet **}} Then add USE flags for <code>open-vm-tools</code> {{FileBox|filename=/etc/portage/package.use/open-vm-tools|title=/etc/portage/package.use/open-vm-tools|1= app-emulation/open-vm-tools gtkmm resolutionkms fuse}} {{RootCmd|prompt=(chroot) livecd /usr/src/linux #|emerge open-vm-tools}} ====Troubleshooting==== Check the log file <code>/var/log/Xorg.0.log</code> for error messages. Error lines start with <code>EE</code>. [[Category:Guide]]'
Unified diff of changes made by edit (edit_diff)
'@@ -114,17 +114,20 @@ # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. -COMMON_FLAGS="-O2" +COMMON_FLAGS="-O2 -pipe" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" + # WARNING: Changing your CHOST is not something that should be done lightly. +# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing. CHOST="aarch64-unknown-linux-gnu" -# NOTE: This stage was built with the bindist Use flag enabled +# NOTE: This stage was built with the bindist USE flag enabled # This sets the language of build output to English. # Please keep this setting intact when reporting bugs. -LC_MESSAGES=C.utf8 +LC_MESSAGES=C,utf8 + USE="-qt5 -kde X gtk gnome -gnome-online-accounts -wireless -bluetooth -ppp" @@ -135,5 +138,5 @@ INPUT_DEVICES="libinput" VIDEO_CARDS="vmware fbdev" -CPU_FLAGS_ARM="aes sha3 crc32 neon v8 vfpv4"}} +CPU_FLAGS_ARM="aes sha1 sha2 sha3 crc32 neon v8 vfpv4"}} '''Note:''' The <code>-march=native</code> flag seemed to cause problems when compiling ffmpeg, so it has been removed in this sample <code>make.conf</code>. '
Old page size (old_size)
16954
Lines added in edit (added_lines)
[ 0 => 'COMMON_FLAGS="-O2 -pipe"', 1 => '', 2 => '# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.', 3 => '# NOTE: This stage was built with the bindist USE flag enabled', 4 => 'LC_MESSAGES=C,utf8', 5 => '', 6 => 'CPU_FLAGS_ARM="aes sha1 sha2 sha3 crc32 neon v8 vfpv4"}}' ]
Lines removed in edit (removed_lines)
[ 0 => 'COMMON_FLAGS="-O2"', 1 => '# NOTE: This stage was built with the bindist Use flag enabled', 2 => 'LC_MESSAGES=C.utf8', 3 => 'CPU_FLAGS_ARM="aes sha3 crc32 neon v8 vfpv4"}}' ]
New page text, stripped of any markup (new_text)
'This page describes the process of installing Gentoo on VMware Fusion Tech Preview on Apple Silicon Mac. The procedure in this guide has been tested on the following platforms: Apple MacBook Pro, M1 Max CPU, VMware Fusion Tech Preview 22H2 Contents 1 VM Settings 2 Preparing the Disks 2.1 Create the EFI System Partition 2.2 Create Root Partition 3 Creating Filesystems 4 Mounting the root partition 5 Getting a Stage 3 Tarball 5.1 Setting Up make.conf 6 Chrooting 6.1 Enter the new rootfs environment 6.2 Configure Portage 6.3 Setting the Timezone 7 Configuring the Kernel 8 Set the Root Password 9 Bootloader 10 Rebooting the System 11 Gnome 11.1 Background 11.2 Unmasking Packages and USE flags 11.3 Installing Gnome 11.4 Optional: Installing open-vm-tools 11.5 Troubleshooting VM Settings[edit] Before booting the VM, change the settings: Hard Disk Bus Type Go to VM Settings &gt; Hard Disk &gt; Advanced &gt; Bus Type. Set bus type to SATA. Hard Disk Size Set the disk size to at least 30 Gbytes. Memory Size Go to VM Settings &gt; Processors &amp; Memory and configure the VM with at least 4 Gbytes of memory. Number of CPUs In VM Settings &gt; Processors &amp; Memory set the number of Processors. Preparing the Disks[edit] Once the VM is booted, start by preparing the disks using fdisk. This guide uses GPT partition table and UEFI firmware. livecd ~ # fdisk /dev/sda Command (m for help): g Created a new GPT disklabel (GUID: A75C1035-8C9C-2749-9F86-73C15F41A835). Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835 Create the EFI System Partition[edit] Command (m for help): n Partition number (1-128, default 1): 1 First sector (2048-83886046, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886046, default 83886046): +256M Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB. Command (m for help): t Selected partition 1 Partition type or alias (type L to list all): 1 Changed type of partition 'Linux filesystem' to 'EFI System'. Command (m for help): Create Root Partition[edit] Create a second partition, and accept the default values for all prompts: Command (m for help): n Partition number (2-128, default 2): First sector (526336-83886046, default 526336): Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-83886046, default 83886046): Created a new partition 2 of type 'Linux filesystem' and of size 39.7 GiB. When partitioning is complete, the layout should look like: Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835 Device Start End Sectors Size Type /dev/sda1 2048 526335 524288 256M EFI System /dev/sda2 526336 83886046 83359711 39.7G Linux filesystem Use the w command to write the new partition layout to disk: Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. Creating Filesystems[edit] Each of the partitions that were just created needs to have a filesystem stored on it to save files: livecd ~ #mkfs.vfat -F 32 /dev/sda1 livecd ~ #mkfs.ext4 /dev/sda2 Mounting the root partition[edit] livecd ~ #mount /dev/sda2 /mnt/gentoo Getting a Stage 3 Tarball[edit] Go to the Gentoo downloads page and copy the link to the stage 3 tarball. MAKE SURE TO GET THE ARM64 version. This is a compressed file that contains a minimal filesystem for your new Gentoo installation. Inside the VM, use the wget utility to download that stage 3 tarball. Before downloading the stage 3, make sure to cd /mnt/gentoo, the directory where the rootfs was mounted in the last step. livecd ~ #cd /mnt/gentoo livecd /mnt/gentoo #wget &lt;URL OF STAGE3&gt; Next, extract the tarball into the rootfs: livecd /mnt/gentoo #tar xpf &lt;STAGE3 FILE NAME&gt; --xattrs-include='*.*' --numeric-owner Setting Up make.conf[edit] The make.conf file has config options that tell Gentoo's package manager how to compile packages. A sample make.conf is below FILE /etc/portage/make.conf # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /usr/share/portage/config/make.conf.example for a more # detailed example. COMMON_FLAGS=&quot;-O2 -pipe&quot; CFLAGS=&quot;${COMMON_FLAGS}&quot; CXXFLAGS=&quot;${COMMON_FLAGS}&quot; FCFLAGS=&quot;${COMMON_FLAGS}&quot; FFLAGS=&quot;${COMMON_FLAGS}&quot; # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing. CHOST=&quot;aarch64-unknown-linux-gnu&quot; # NOTE: This stage was built with the bindist USE flag enabled # This sets the language of build output to English. # Please keep this setting intact when reporting bugs. LC_MESSAGES=C,utf8 USE=&quot;-qt5 -kde X gtk gnome -gnome-online-accounts -wireless -bluetooth -ppp&quot; MAKEOPTS=&quot;-j8&quot; ACCEPT_LICENSE=&quot;-* @FREE @BINARY-REDISTRIBUTABLE&quot; GRUB_PLATFORMS=&quot;efi-64&quot; INPUT_DEVICES=&quot;libinput&quot; VIDEO_CARDS=&quot;vmware fbdev&quot; CPU_FLAGS_ARM=&quot;aes sha1 sha2 sha3 crc32 neon v8 vfpv4&quot; Note: The -march=native flag seemed to cause problems when compiling ffmpeg, so it has been removed in this sample make.conf. Chrooting[edit] Copy resolv.conf which contains DNS server info, into the new rootfs: livecd /mnt/gentoo #cp /etc/resolv.conf /mnt/gentoo/etc/ Mount a bunch of pseudo filesystems needed by Linux: livecd /mnt/gentoo #mount --types proc /proc /mnt/gentoo/proc livecd /mnt/gentoo #mount --rbind /sys /mnt/gentoo/sys livecd /mnt/gentoo #mount --make-rslave /mnt/gentoo/sys livecd /mnt/gentoo #mount --rbind /dev /mnt/gentoo/dev livecd /mnt/gentoo #mount --make-rslave /mnt/gentoo/dev livecd /mnt/gentoo #mount --bind /run /mnt/gentoo/run livecd /mnt/gentoo #mount --make-slave /mnt/gentoo/run Enter the new rootfs environment[edit] livecd /mnt/gentoo #chroot /mnt/gentoo /bin/bash livecd /mnt/gentoo #. /etc/profile Mount the /boot partition: (chroot) livecd / #mount /dev/sda1 /boot Configure Portage[edit] (chroot) livecd / #emerge-webrsync (chroot) livecd / #emerge --sync Update the @world package list: (chroot) livecd / #emerge --ask --verbose --update --deep --newuse @world Setting the Timezone[edit] (chroot) livecd / #echo "America/Chicago" &gt; /etc/timezone (chroot) livecd / #emerge --config sys-libs/timezone-data Configuring the Kernel[edit] Install the linux-firmware and gentoo-sources packages: (chroot) livecd / #emerge --ask sys-kernel/linux-firmware (chroot) livecd / #emerge --ask sys-kernel/gentoo-sources gentoo-sources gives us the Linux kernel source, which must be hand-built. (chroot) livecd / #eselect kernel list [1] linux-5.15.80-gentoo (chroot) livecd / #eselect kernel set 1 (chroot) livecd / #cd /usr/src/linux (chroot) livecd /usr/src/linux #make menuconfig The minimum requirement to make the VM boot is enabling the DRM driver in the kernel. This is needed to display a terminal prompt. KERNEL Enable support for VMware DRM -&gt; Device Drivers -&gt; Graphics support [*] DRM driver for VMware Virtual GPU If you also want open-vm-tools integration, which provides performance improvements and improved integration with the host (shared clipboard, etc), enable the following in the kernel: KERNEL Enable support for VMware DRM -&gt; Device Drivers -&gt; Network device support [*] VMware VMXNET3 ethernet driver When this guide was written (Jan 2023), most of the host integration features in the kernel were only supported on x86. After configuring your kernel, you can build and install it. The following command uses -j10 to start 10 build jobs. Usually the number of build jobs should be the same as the number of CPU cores you configured your VM with. The more build jobs you use, the faster your build will finish. (chroot) livecd /usr/src/linux #make -j10 Image &amp;&amp; make install &amp;&amp; make modules_install Install dhcpcd, needed to get IP address via DHCP: (chroot) livecd /usr/src/linux #emerge dhcpcd (chroot) livecd /usr/src/linux #rc-update add dhcpcd default Find the name of the VM's Ethernet interface by looking at the output of ifconfig. In this example, it's called ens160: ens160: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt; mtu 1500 inet 172.16.44.130 netmask 255.255.255.0 broadcast 172.16.44.255 inet6 fe80::23be:d7df:9454:bb82 prefixlen 64 scopeid 0x20&lt;link&gt; ether 00:0c:29:c8:a5:1d txqueuelen 1000 (Ethernet) RX packets 807368 bytes 1097038659 (1.0 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 292703 bytes 28455835 (27.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 69 memory 0x38500000-38520000 lo: flags=73&lt;UP,LOOPBACK,RUNNING&gt; mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6&#160;::1 prefixlen 128 scopeid 0x10&lt;host&gt; loop txqueuelen 1000 (Local Loopback) RX packets 1952 bytes 155712 (152.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1952 bytes 155712 (152.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 (chroot) livecd /usr/src/linux #nano /etc/conf.d/net FILE /etc/conf.d/net/etc/conf.d/net example config_ens160=&quot;dhcp&quot; (chroot) livecd /usr/src/linux #cd /etc/init.d (chroot) livecd /usr/src/linux #ln -s net.lo net.ens160 (chroot) livecd /usr/src/linux #rc-update add net.ens160 default * service net.ens160 added to runlevel default Set the Root Password[edit] Use the passwd utility to set the root password. It might look like your characters aren't registering them when you type them, but they are. The utility just doensn't print anything on the screen when you're typing a password. (chroot) livecd /etc/init.d #passwd Bootloader[edit] Installing Grub (chroot) livecd /etc/init.d #emerge --ask --verbose sys-boot/grub (chroot) livecd /etc/init.d #grub-install --target=arm64-efi --efi-directory=/boot --bootloader-id=Gentoo (chroot) livecd /etc/init.d #grub-mkconfig -o /boot/grub/grub.cfg Rebooting the System[edit] (chroot) livecd /usr/src/linux #exit (chroot) livecd /usr/src/linux #cd(chroot) livecd /usr/src/linux #umount -R /mnt/gentoo(chroot) livecd /usr/src/linux #reboot Gnome[edit] Background[edit] When this guide was written (Jan 2023), there were a lot of unstable video and device drivers in Gentoo that are required to install Gnome. In order to install the required drivers (vmware mouse and video drivers), we need to manually unmask them. Unmasking Packages and USE flags[edit] Need to unmask the fbdev and vmware video drivers to allow them to be installed. Create a new file /etc/portage/profile/use.mask: FILE /etc/portage/profile/use.mask/etc/portage/profile/use.mask -video_cards_vmware -video_cards_fbdev Enable gnome-light by providing ACCEPT_KEYWORDS variable. Create the file /etc/portage/package.accept_keywords/gnome_light with the following contents: FILE /etc/portage/package.accept_keywords/gnome_light/etc/portage/package.accept_keywords/gnome_light gnome-base/gnome-light ** x11-drivers/xf86-video-vmware ** x11-drivers/xf86-video-fbdev ** Set use flags for mesa by creating /etc/portage/package.use/mesa with the following contents: FILE /etc/portage/package.use/mesa/etc/portage/package.use/mesa media-libs/mesa xa Installing Gnome[edit] Need to set your profile to Gnome Desktop: (chroot) livecd /usr/src/linux #eselect profile listAvailable profile symlink targets: [1] default/linux/amd64/23.0 (stable) [2] default/linux/amd64/23.0/systemd (stable) [3] default/linux/amd64/23.0/desktop (stable) * [4] default/linux/amd64/23.0/desktop/systemd (stable) [5] default/linux/amd64/23.0/desktop/gnome (stable) [6] default/linux/amd64/23.0/desktop/gnome/systemd (stable) [7] default/linux/amd64/23.0/desktop/plasma (stable) [8] default/linux/amd64/23.0/desktop/plasma/systemd (stable) [9] default/linux/amd64/23.0/no-multilib (stable) [10] default/linux/amd64/23.0/no-multilib/systemd (stable) [11] default/linux/amd64/23.0/no-multilib/hardened (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/systemd (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/selinux (stable) [14] default/linux/amd64/23.0/no-multilib/hardened/selinux/systemd (stable) [15] default/linux/amd64/23.0/no-multilib/prefix (exp) [16] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.32+ (exp) [17] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.16+ (exp) [18] default/linux/amd64/23.0/no-multilib/prefix/kernel-3.2+ (exp) [19] default/linux/amd64/23.0/llvm (stable) [20] default/linux/amd64/23.0/llvm/systemd (stable) [21] default/linux/amd64/23.0/hardened (stable) [22] default/linux/amd64/23.0/hardened/systemd (stable) [23] default/linux/amd64/23.0/hardened/selinux (stable) [24] default/linux/amd64/23.0/hardened/selinux/systemd (stable) [25] default/linux/amd64/23.0/split-usr (stable) [26] default/linux/amd64/23.0/split-usr/desktop (stable) [27] default/linux/amd64/23.0/split-usr/desktop/gnome (stable) [28] default/linux/amd64/23.0/split-usr/desktop/plasma (stable) [29] default/linux/amd64/23.0/split-usr/no-multilib (stable) [30] default/linux/amd64/23.0/split-usr/no-multilib/selinux (stable) [31] default/linux/amd64/23.0/split-usr/no-multilib/hardened (stable) [32] default/linux/amd64/23.0/split-usr/no-multilib/hardened/selinux (stable) [33] default/linux/amd64/23.0/split-usr/no-multilib/prefix (exp) [34] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.32+ (exp) [35] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.16+ (exp) [36] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-3.2+ (exp) [37] default/linux/amd64/23.0/split-usr/llvm (stable) [38] default/linux/amd64/23.0/split-usr/hardened (stable) [39] default/linux/amd64/23.0/split-usr/hardened/selinux (stable) [40] default/linux/amd64/23.0/musl (dev) [41] default/linux/amd64/23.0/musl/llvm (exp) [43] default/linux/amd64/23.0/musl/hardened (exp) [43] default/linux/amd64/23.0/musl/hardened/selinux (exp) [44] default/linux/amd64/23.0/split-usr/musl (dev) [45] default/linux/amd64/23.0/split-usr/musl/llvm (exp) [46] default/linux/amd64/23.0/split-usr/musl/hardened (exp) [47] default/linux/amd64/23.0/split-usr/musl/hardened/selinux (exp) (chroot) livecd /usr/src/linux #eselect profile set default/linux/amd64/23.0/desktop/gnome (chroot) livecd /usr/src/linux #emerge gnome-light Start dbus service, needed by X (and Gnome) (chroot) livecd /usr/src/linux #/etc/init.d/dbus start (chroot) livecd /usr/src/linux #rc-update add dbus default Set display manager to GDM: (chroot) livecd /usr/src/linux #nano /etc/conf.d/display-manager FILE /etc/conf.d/display-manager/etc/conf.d/display-manager DISPLAYMANAGER=&quot;gdm&quot; Start the login manager: (chroot) livecd /usr/src/linux #/etc/init.d/xdm start Optional: Installing open-vm-tools[edit] The open-vm-tools, provides some nice integration features between host and guest. When this guide was written, a lot of the kernel drivers that are required to support host integration are x86-only, but some stuff (like HGFS file sharing) still works. Since open-vm-tools is still experimental, unmask it: FILE /etc/portage/package.accept_keywords/open-vm-tools/etc/portage/package.accept_keywords/open-vm-tools app-emulation/open-vm-tools ** dev-libs/libdnet ** Then add USE flags for open-vm-tools FILE /etc/portage/package.use/open-vm-tools/etc/portage/package.use/open-vm-tools app-emulation/open-vm-tools gtkmm resolutionkms fuse (chroot) livecd /usr/src/linux #emerge open-vm-tools Troubleshooting[edit] Check the log file /var/log/Xorg.0.log for error messages. Error lines start with EE.'
Parsed HTML source of the new revision (new_html)
'<div class="mw-parser-output"><p>This page describes the process of installing Gentoo on VMware Fusion Tech Preview on Apple Silicon Mac. The procedure in this guide has been tested on the following platforms: </p> <ul><li>Apple MacBook Pro, M1 Max CPU, VMware Fusion Tech Preview 22H2</li></ul> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#VM_Settings"><span class="tocnumber">1</span> <span class="toctext">VM Settings</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#Preparing_the_Disks"><span class="tocnumber">2</span> <span class="toctext">Preparing the Disks</span></a> <ul> <li class="toclevel-2 tocsection-3"><a href="#Create_the_EFI_System_Partition"><span class="tocnumber">2.1</span> <span class="toctext">Create the EFI System Partition</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#Create_Root_Partition"><span class="tocnumber">2.2</span> <span class="toctext">Create Root Partition</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-5"><a href="#Creating_Filesystems"><span class="tocnumber">3</span> <span class="toctext">Creating Filesystems</span></a></li> <li class="toclevel-1 tocsection-6"><a href="#Mounting_the_root_partition"><span class="tocnumber">4</span> <span class="toctext">Mounting the root partition</span></a></li> <li class="toclevel-1 tocsection-7"><a href="#Getting_a_Stage_3_Tarball"><span class="tocnumber">5</span> <span class="toctext">Getting a Stage 3 Tarball</span></a> <ul> <li class="toclevel-2 tocsection-8"><a href="#Setting_Up_make.conf"><span class="tocnumber">5.1</span> <span class="toctext">Setting Up make.conf</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-9"><a href="#Chrooting"><span class="tocnumber">6</span> <span class="toctext">Chrooting</span></a> <ul> <li class="toclevel-2 tocsection-10"><a href="#Enter_the_new_rootfs_environment"><span class="tocnumber">6.1</span> <span class="toctext">Enter the new rootfs environment</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#Configure_Portage"><span class="tocnumber">6.2</span> <span class="toctext">Configure Portage</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#Setting_the_Timezone"><span class="tocnumber">6.3</span> <span class="toctext">Setting the Timezone</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-13"><a href="#Configuring_the_Kernel"><span class="tocnumber">7</span> <span class="toctext">Configuring the Kernel</span></a></li> <li class="toclevel-1 tocsection-14"><a href="#Set_the_Root_Password"><span class="tocnumber">8</span> <span class="toctext">Set the Root Password</span></a></li> <li class="toclevel-1 tocsection-15"><a href="#Bootloader"><span class="tocnumber">9</span> <span class="toctext">Bootloader</span></a></li> <li class="toclevel-1 tocsection-16"><a href="#Rebooting_the_System"><span class="tocnumber">10</span> <span class="toctext">Rebooting the System</span></a></li> <li class="toclevel-1 tocsection-17"><a href="#Gnome"><span class="tocnumber">11</span> <span class="toctext">Gnome</span></a> <ul> <li class="toclevel-2 tocsection-18"><a href="#Background"><span class="tocnumber">11.1</span> <span class="toctext">Background</span></a></li> <li class="toclevel-2 tocsection-19"><a href="#Unmasking_Packages_and_USE_flags"><span class="tocnumber">11.2</span> <span class="toctext">Unmasking Packages and USE flags</span></a></li> <li class="toclevel-2 tocsection-20"><a href="#Installing_Gnome"><span class="tocnumber">11.3</span> <span class="toctext">Installing Gnome</span></a></li> <li class="toclevel-2 tocsection-21"><a href="#Optional:_Installing_open-vm-tools"><span class="tocnumber">11.4</span> <span class="toctext">Optional: Installing open-vm-tools</span></a></li> <li class="toclevel-2 tocsection-22"><a href="#Troubleshooting"><span class="tocnumber">11.5</span> <span class="toctext">Troubleshooting</span></a></li> </ul> </li> </ul> </div> <h2><span class="mw-headline" id="VM_Settings">VM Settings</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=1" title="Edit section: VM Settings">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Before booting the VM, change the settings: </p> <ol><li><b>Hard Disk Bus Type</b> Go to <i>VM Settings &gt; Hard Disk &gt; Advanced &gt; Bus Type</i>. Set bus type to SATA.</li> <li><b>Hard Disk Size</b> Set the disk size to at least 30 Gbytes.</li> <li><b>Memory Size</b> Go to <i>VM Settings &gt; Processors &amp; Memory</i> and configure the VM with at least 4 Gbytes of memory.</li> <li><b>Number of CPUs</b> In <i>VM Settings &gt; Processors &amp; Memory</i> set the number of Processors.</li></ol> <h2><span class="mw-headline" id="Preparing_the_Disks">Preparing the Disks</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=2" title="Edit section: Preparing the Disks">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Once the VM is booted, start by preparing the disks using <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">fdisk</span>. This guide uses GPT partition table and UEFI firmware. </p> <pre><code>livecd ~ # fdisk /dev/sda Command (m for help): g Created a new GPT disklabel (GUID: A75C1035-8C9C-2749-9F86-73C15F41A835). Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835</code> </pre> <h3><span class="mw-headline" id="Create_the_EFI_System_Partition">Create the EFI System Partition</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=3" title="Edit section: Create the EFI System Partition">edit</a><span class="mw-editsection-bracket">]</span></span></h3> <pre><code>Command (m for help): n Partition number (1-128, default 1): 1 First sector (2048-83886046, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886046, default 83886046): +256M Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB. Command (m for help): t Selected partition 1 Partition type or alias (type L to list all): 1 Changed type of partition 'Linux filesystem' to 'EFI System'. Command (m for help):</code> </pre> <h3><span class="mw-headline" id="Create_Root_Partition">Create Root Partition</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=4" title="Edit section: Create Root Partition">edit</a><span class="mw-editsection-bracket">]</span></span></h3> <p>Create a second partition, and accept the default values for all prompts: </p> <pre><code>Command (m for help): n Partition number (2-128, default 2): First sector (526336-83886046, default 526336): Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-83886046, default 83886046): Created a new partition 2 of type 'Linux filesystem' and of size 39.7 GiB.</code> </pre> <p>When partitioning is complete, the layout should look like: </p> <pre><code>Command (m for help): p Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A75C1035-8C9C-2749-9F86-73C15F41A835 Device Start End Sectors Size Type /dev/sda1 2048 526335 524288 256M EFI System /dev/sda2 526336 83886046 83359711 39.7G Linux filesystem</code> </pre> <p>Use the <code>w</code> command to write the new partition layout to disk: </p> <pre><code>Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.</code> </pre> <h2><span class="mw-headline" id="Creating_Filesystems">Creating Filesystems</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=5" title="Edit section: Creating Filesystems">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Each of the partitions that were just created needs to have a filesystem stored on it to save files: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd ~ #</code><span class="tripleclick-separator"></span><code>mkfs.vfat -F 32 /dev/sda1 </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd ~ #</code><span class="tripleclick-separator"></span><code>mkfs.ext4 /dev/sda2</code></div></div> <h2><span class="mw-headline" id="Mounting_the_root_partition">Mounting the root partition</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=6" title="Edit section: Mounting the root partition">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd ~ #</code><span class="tripleclick-separator"></span><code>mount /dev/sda2 /mnt/gentoo</code></div></div> <h2><span class="mw-headline" id="Getting_a_Stage_3_Tarball">Getting a Stage 3 Tarball</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=7" title="Edit section: Getting a Stage 3 Tarball">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Go to the Gentoo downloads page and copy the link to the stage 3 tarball. <b>MAKE SURE TO GET THE ARM64</b> version. This is a compressed file that contains a minimal filesystem for your new Gentoo installation. Inside the VM, use the <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">wget</span> utility to download that stage 3 tarball. </p><p><b>Before downloading the stage 3</b>, make sure to <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">cd /mnt/gentoo</span>, the directory where the rootfs was mounted in the last step. </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd ~ #</code><span class="tripleclick-separator"></span><code>cd /mnt/gentoo</code></div></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>wget &lt;URL OF STAGE3&gt;</code></div></div> <p>Next, extract the tarball into the rootfs: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>tar xpf &lt;STAGE3 FILE NAME&gt; --xattrs-include='*.*' --numeric-owner</code></div></div> <h3><span class="mw-headline" id="Setting_Up_make.conf">Setting Up make.conf</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=8" title="Edit section: Setting Up make.conf">edit</a><span class="mw-editsection-bracket">]</span></span></h3> <p>The <span style="font-family: monospace; font-size: 95%; color: #3c763d; font-weight: 600;">make.conf</span> file has config options that tell Gentoo's package manager how to compile packages. </p><p>A sample <span style="font-family: monospace; font-size: 95%; color: #3c763d; font-weight: 600;">make.conf</span> is below </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/make.conf</code></strong><strong></strong></div> <div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span><span class="c1"># These settings were set by the catalyst build script that automatically</span> <span class="c1"># built this stage.</span> <span class="c1"># Please consult /usr/share/portage/config/make.conf.example for a more</span> <span class="c1"># detailed example.</span> <span class="nv">COMMON_FLAGS</span><span class="o">=</span><span class="s2">&quot;-O2 -pipe&quot;</span> <span class="nv">CFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">COMMON_FLAGS</span><span class="si">}</span><span class="s2">&quot;</span> <span class="nv">CXXFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">COMMON_FLAGS</span><span class="si">}</span><span class="s2">&quot;</span> <span class="nv">FCFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">COMMON_FLAGS</span><span class="si">}</span><span class="s2">&quot;</span> <span class="nv">FFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">COMMON_FLAGS</span><span class="si">}</span><span class="s2">&quot;</span> <span class="c1"># WARNING: Changing your CHOST is not something that should be done lightly.</span> <span class="c1"># Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.</span> <span class="nv">CHOST</span><span class="o">=</span><span class="s2">&quot;aarch64-unknown-linux-gnu&quot;</span> <span class="c1"># NOTE: This stage was built with the bindist USE flag enabled</span> <span class="c1"># This sets the language of build output to English.</span> <span class="c1"># Please keep this setting intact when reporting bugs.</span> <span class="nv">LC_MESSAGES</span><span class="o">=</span>C,utf8 <span class="nv">USE</span><span class="o">=</span><span class="s2">&quot;-qt5 -kde X gtk gnome -gnome-online-accounts -wireless -bluetooth -ppp&quot;</span> <span class="nv">MAKEOPTS</span><span class="o">=</span><span class="s2">&quot;-j8&quot;</span> <span class="nv">ACCEPT_LICENSE</span><span class="o">=</span><span class="s2">&quot;-* @FREE @BINARY-REDISTRIBUTABLE&quot;</span> <span class="nv">GRUB_PLATFORMS</span><span class="o">=</span><span class="s2">&quot;efi-64&quot;</span> <span class="nv">INPUT_DEVICES</span><span class="o">=</span><span class="s2">&quot;libinput&quot;</span> <span class="nv">VIDEO_CARDS</span><span class="o">=</span><span class="s2">&quot;vmware fbdev&quot;</span> <span class="nv">CPU_FLAGS_ARM</span><span class="o">=</span><span class="s2">&quot;aes sha1 sha2 sha3 crc32 neon v8 vfpv4&quot;</span> </pre></div> <p><b>Note:</b> The <code>-march=native</code> flag seemed to cause problems when compiling ffmpeg, so it has been removed in this sample <code>make.conf</code>. </p> <h2><span class="mw-headline" id="Chrooting">Chrooting</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=9" title="Edit section: Chrooting">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Copy <span style="font-family: monospace; font-size: 95%; color: #3c763d; font-weight: 600;">resolv.conf</span> which contains DNS server info, into the new rootfs: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>cp /etc/resolv.conf /mnt/gentoo/etc/</code></div></div> <p>Mount a bunch of pseudo filesystems needed by Linux: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --types proc /proc /mnt/gentoo/proc </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --rbind /sys /mnt/gentoo/sys </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --make-rslave /mnt/gentoo/sys </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --rbind /dev /mnt/gentoo/dev </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --make-rslave /mnt/gentoo/dev </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --bind /run /mnt/gentoo/run </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>mount --make-slave /mnt/gentoo/run</code></div></div> <h3><span class="mw-headline" id="Enter_the_new_rootfs_environment">Enter the new rootfs environment</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=10" title="Edit section: Enter the new rootfs environment">edit</a><span class="mw-editsection-bracket">]</span></span></h3> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>chroot /mnt/gentoo /bin/bash </code></div><div><code style="color: #ef2929; font-weight: bold;">livecd /mnt/gentoo #</code><span class="tripleclick-separator"></span><code>. /etc/profile </code></div></div> <p>Mount the <span style="font-family: monospace; font-size: 95%; color: #3c763d; font-weight: 600;">/boot</span> partition: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>mount /dev/sda1 /boot</code></div></div> <h3><span class="mw-headline" id="Configure_Portage">Configure Portage</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=11" title="Edit section: Configure Portage">edit</a><span class="mw-editsection-bracket">]</span></span></h3> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>emerge-webrsync </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>emerge --sync</code></div></div> <p>Update the <code>@world</code> package list: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>emerge --ask --verbose --update --deep --newuse @world</code></div></div> <h3><span class="mw-headline" id="Setting_the_Timezone">Setting the Timezone</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=12" title="Edit section: Setting the Timezone">edit</a><span class="mw-editsection-bracket">]</span></span></h3> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>echo "America/Chicago" &gt; /etc/timezone </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>emerge --config sys-libs/timezone-data</code></div></div> <h2><span class="mw-headline" id="Configuring_the_Kernel">Configuring the Kernel</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=13" title="Edit section: Configuring the Kernel">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Install the <code>linux-firmware</code> and <code>gentoo-sources</code> packages: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>emerge --ask sys-kernel/linux-firmware </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>emerge --ask sys-kernel/gentoo-sources</code></div></div> <p><code>gentoo-sources</code> gives us the Linux kernel source, which must be hand-built. </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>eselect kernel list</code></div><pre> [1] linux-5.15.80-gentoo</pre></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>eselect kernel set 1 </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd / #</code><span class="tripleclick-separator"></span><code>cd /usr/src/linux</code></div></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>make menuconfig</code></div></div> <p>The minimum requirement to make the VM boot is enabling the DRM driver in the kernel. This is needed to display a terminal prompt. </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #4E9A06">KERNEL</span> <strong>Enable support for VMware DRM</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>-&gt; Device Drivers -&gt; Graphics support [*] DRM driver for VMware Virtual GPU </pre></div> <p>If you also want <code>open-vm-tools</code> integration, which provides performance improvements and improved integration with the host (shared clipboard, etc), enable the following in the kernel: </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #4E9A06">KERNEL</span> <strong>Enable support for VMware DRM</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>-&gt; Device Drivers -&gt; Network device support [*] VMware VMXNET3 ethernet driver </pre></div> <p>When this guide was written (Jan 2023), most of the host integration features in the kernel were only supported on x86. </p><p>After configuring your kernel, you can build and install it. The following command uses <code>-j10</code> to start 10 build jobs. Usually the number of build jobs should be the same as the number of CPU cores you configured your VM with. The more build jobs you use, the faster your build will finish. </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>make -j10 Image &amp;&amp; make install &amp;&amp; make modules_install</code></div></div> <p>Install <code>dhcpcd</code>, needed to get IP address via DHCP: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>emerge dhcpcd </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>rc-update add dhcpcd default</code></div></div> <p><br /> Find the name of the VM's Ethernet interface by looking at the output of <code>ifconfig</code>. In this example, it's called <code>ens160</code>: </p> <pre><code>ens160: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt; mtu 1500 inet 172.16.44.130 netmask 255.255.255.0 broadcast 172.16.44.255 inet6 fe80::23be:d7df:9454:bb82 prefixlen 64 scopeid 0x20&lt;link&gt; ether 00:0c:29:c8:a5:1d txqueuelen 1000 (Ethernet) RX packets 807368 bytes 1097038659 (1.0 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 292703 bytes 28455835 (27.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 69 memory 0x38500000-38520000 lo: flags=73&lt;UP,LOOPBACK,RUNNING&gt; mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6&#160;::1 prefixlen 128 scopeid 0x10&lt;host&gt; loop txqueuelen 1000 (Local Loopback) RX packets 1952 bytes 155712 (152.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1952 bytes 155712 (152.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</code> </pre> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>nano /etc/conf.d/net</code></div></div> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/conf.d/net</code></strong><strong>/etc/conf.d/net example</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>config_ens160=&quot;dhcp&quot; </pre></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>cd /etc/init.d </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>ln -s net.lo net.ens160 </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>rc-update add net.ens160 default</code></div><pre> * service net.ens160 added to runlevel default </pre></div> <h2><span class="mw-headline" id="Set_the_Root_Password">Set the Root Password</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=14" title="Edit section: Set the Root Password">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Use the <code>passwd</code> utility to set the root password. It might look like your characters aren't registering them when you type them, but they are. The utility just doensn't print anything on the screen when you're typing a password. </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /etc/init.d #</code><span class="tripleclick-separator"></span><code>passwd</code></div></div> <h2><span class="mw-headline" id="Bootloader">Bootloader</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=15" title="Edit section: Bootloader">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Installing Grub </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /etc/init.d #</code><span class="tripleclick-separator"></span><code>emerge --ask --verbose sys-boot/grub</code></div></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /etc/init.d #</code><span class="tripleclick-separator"></span><code>grub-install --target=arm64-efi --efi-directory=/boot --bootloader-id=Gentoo</code></div></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /etc/init.d #</code><span class="tripleclick-separator"></span><code>grub-mkconfig -o /boot/grub/grub.cfg</code></div></div> <p><br /> </p> <h2><span class="mw-headline" id="Rebooting_the_System">Rebooting the System</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=16" title="Edit section: Rebooting the System">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>exit </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>cd</code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>umount -R /mnt/gentoo</code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>reboot</code></div></div> <h2><span class="mw-headline" id="Gnome">Gnome</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=17" title="Edit section: Gnome">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <h4><span class="mw-headline" id="Background">Background</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=18" title="Edit section: Background">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>When this guide was written (Jan 2023), there were a lot of unstable video and device drivers in Gentoo that are required to install Gnome. In order to install the required drivers (vmware mouse and video drivers), we need to manually unmask them. </p> <h4><span class="mw-headline" id="Unmasking_Packages_and_USE_flags">Unmasking Packages and USE flags</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=19" title="Edit section: Unmasking Packages and USE flags">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>Need to unmask the fbdev and vmware video drivers to allow them to be installed. Create a new file <code>/etc/portage/profile/use.mask</code>: </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/profile/use.mask</code></strong><strong>/etc/portage/profile/use.mask</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>-video_cards_vmware -video_cards_fbdev </pre></div> <p>Enable gnome-light by providing ACCEPT_KEYWORDS variable. Create the file <code>/etc/portage/package.accept_keywords/gnome_light</code> with the following contents: </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/package.accept_keywords/gnome_light</code></strong><strong>/etc/portage/package.accept_keywords/gnome_light</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>gnome-base/gnome-light ** x11-drivers/xf86-video-vmware ** x11-drivers/xf86-video-fbdev ** </pre></div> <p>Set use flags for mesa by creating <code>/etc/portage/package.use/mesa</code> with the following contents: </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/package.use/mesa</code></strong><strong>/etc/portage/package.use/mesa</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>media-libs/mesa xa </pre></div> <h4><span class="mw-headline" id="Installing_Gnome">Installing Gnome</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=20" title="Edit section: Installing Gnome">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>Need to set your profile to Gnome Desktop: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>eselect profile list</code></div><pre>Available profile symlink targets: [1] default/linux/amd64/23.0 (stable) [2] default/linux/amd64/23.0/systemd (stable) [3] default/linux/amd64/23.0/desktop (stable) * [4] default/linux/amd64/23.0/desktop/systemd (stable) [5] default/linux/amd64/23.0/desktop/gnome (stable) [6] default/linux/amd64/23.0/desktop/gnome/systemd (stable) [7] default/linux/amd64/23.0/desktop/plasma (stable) [8] default/linux/amd64/23.0/desktop/plasma/systemd (stable) [9] default/linux/amd64/23.0/no-multilib (stable) [10] default/linux/amd64/23.0/no-multilib/systemd (stable) [11] default/linux/amd64/23.0/no-multilib/hardened (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/systemd (stable) [12] default/linux/amd64/23.0/no-multilib/hardened/selinux (stable) [14] default/linux/amd64/23.0/no-multilib/hardened/selinux/systemd (stable) [15] default/linux/amd64/23.0/no-multilib/prefix (exp) [16] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.32+ (exp) [17] default/linux/amd64/23.0/no-multilib/prefix/kernel-2.6.16+ (exp) [18] default/linux/amd64/23.0/no-multilib/prefix/kernel-3.2+ (exp) [19] default/linux/amd64/23.0/llvm (stable) [20] default/linux/amd64/23.0/llvm/systemd (stable) [21] default/linux/amd64/23.0/hardened (stable) [22] default/linux/amd64/23.0/hardened/systemd (stable) [23] default/linux/amd64/23.0/hardened/selinux (stable) [24] default/linux/amd64/23.0/hardened/selinux/systemd (stable) [25] default/linux/amd64/23.0/split-usr (stable) [26] default/linux/amd64/23.0/split-usr/desktop (stable) [27] default/linux/amd64/23.0/split-usr/desktop/gnome (stable) [28] default/linux/amd64/23.0/split-usr/desktop/plasma (stable) [29] default/linux/amd64/23.0/split-usr/no-multilib (stable) [30] default/linux/amd64/23.0/split-usr/no-multilib/selinux (stable) [31] default/linux/amd64/23.0/split-usr/no-multilib/hardened (stable) [32] default/linux/amd64/23.0/split-usr/no-multilib/hardened/selinux (stable) [33] default/linux/amd64/23.0/split-usr/no-multilib/prefix (exp) [34] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.32+ (exp) [35] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-2.6.16+ (exp) [36] default/linux/amd64/23.0/split-usr/no-multilib/prefix/kernel-3.2+ (exp) [37] default/linux/amd64/23.0/split-usr/llvm (stable) [38] default/linux/amd64/23.0/split-usr/hardened (stable) [39] default/linux/amd64/23.0/split-usr/hardened/selinux (stable) [40] default/linux/amd64/23.0/musl (dev) [41] default/linux/amd64/23.0/musl/llvm (exp) [43] default/linux/amd64/23.0/musl/hardened (exp) [43] default/linux/amd64/23.0/musl/hardened/selinux (exp) [44] default/linux/amd64/23.0/split-usr/musl (dev) [45] default/linux/amd64/23.0/split-usr/musl/llvm (exp) [46] default/linux/amd64/23.0/split-usr/musl/hardened (exp) [47] default/linux/amd64/23.0/split-usr/musl/hardened/selinux (exp) </pre></div> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>eselect profile set default/linux/amd64/23.0/desktop/gnome </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>emerge gnome-light</code></div></div> <p>Start <code>dbus</code> service, needed by X (and Gnome) </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>/etc/init.d/dbus start </code></div><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>rc-update add dbus default</code></div></div> <p><br /> Set display manager to GDM: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>nano /etc/conf.d/display-manager</code></div></div> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/conf.d/display-manager</code></strong><strong>/etc/conf.d/display-manager</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>DISPLAYMANAGER=&quot;gdm&quot; </pre></div> <p><br /> Start the login manager: </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>/etc/init.d/xdm start</code></div></div> <h4><span class="mw-headline" id="Optional:_Installing_open-vm-tools">Optional: Installing <code>open-vm-tools</code></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=21" title="Edit section: Optional: Installing open-vm-tools">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>The <code>open-vm-tools</code>, provides some nice integration features between host and guest. When this guide was written, a lot of the kernel drivers that are required to support host integration are x86-only, but some stuff (like HGFS file sharing) still works. </p><p>Since <code>open-vm-tools</code> is still experimental, unmask it: </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/package.accept_keywords/open-vm-tools</code></strong><strong>/etc/portage/package.accept_keywords/open-vm-tools</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>app-emulation/open-vm-tools ** dev-libs/libdnet ** </pre></div> <p>Then add USE flags for <code>open-vm-tools</code> </p> <div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #54487A">FILE</span> <strong><code style="border: none; background: none; color: #54487A; margin-right: .5em;">/etc/portage/package.use/open-vm-tools</code></strong><strong>/etc/portage/package.use/open-vm-tools</strong></div> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>app-emulation/open-vm-tools gtkmm resolutionkms fuse </pre></div> <p><br /> </p> <div class="cmd-box"><div><code style="color: #ef2929; font-weight: bold;">(chroot) livecd /usr/src/linux #</code><span class="tripleclick-separator"></span><code>emerge open-vm-tools</code></div></div> <p><br /> </p> <h4><span class="mw-headline" id="Troubleshooting">Troubleshooting</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Apple_Silicon_VMware_Guide&amp;action=edit&amp;section=22" title="Edit section: Troubleshooting">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>Check the log file <code>/var/log/Xorg.0.log</code> for error messages. Error lines start with <code>EE</code>. </p> '
Unix timestamp of change (timestamp)
1730845383