<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VMware on ousfifty's blog</title><link>https://blog.ous50.moe/en/tags/vmware/</link><description>Recent content in VMware on ousfifty's blog</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>ousfifty 2020-</copyright><lastBuildDate>Fri, 13 Jan 2023 23:07:11 +0800</lastBuildDate><atom:link href="https://blog.ous50.moe/en/tags/vmware/index.xml" rel="self" type="application/rss+xml"/><item><title>Installing ArchLinux With Btrfs in Vmware</title><link>https://blog.ous50.moe/en/p/installing-archlinux-with-btrfs-in-vmware/</link><pubDate>Fri, 13 Jan 2023 23:07:11 +0800</pubDate><guid>https://blog.ous50.moe/en/p/installing-archlinux-with-btrfs-in-vmware/</guid><description>&lt;h2 id="before-installation"&gt;&lt;a href="#before-installation" class="header-anchor"&gt;&lt;/a&gt;Before installation
&lt;/h2&gt;&lt;p&gt;Create a virtual machine and adjust depend config on your need(Except for the UEFI firmware part):&lt;/p&gt;
&lt;p&gt;&lt;img alt="overview" class="gallery-image" data-flex-basis="237px" data-flex-grow="98" height="901" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/overview.png" srcset="https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/overview_hu_943cda27a63beee4.png 800w, https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/overview.png 891w" width="891"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="firmwareConfig" class="gallery-image" data-flex-basis="238px" data-flex-grow="99" height="896" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/firmwareConfig.png" srcset="https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/firmwareConfig_hu_667105f6b17aceff.png 800w, https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/firmwareConfig.png 889w" width="889"&gt;&lt;/p&gt;
&lt;p&gt;To prevent the creation of vmem files for acceleration, &lt;a class="link" href="https://gist.github.com/extremecoders-re/cf8d829c108d58bfbb2e3c1f4121d7e1" title="Disabling vmem files creation."
 target="_blank" rel="noopener"
 &gt;add the following lines to your .vmx file&lt;/a&gt;(:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;prefvmx.minVmMemPct = &amp;#34;100&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MemTrimRate = &amp;#34;0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mainMem.useNamedFile = &amp;#34;FALSE&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sched.mem.pshare.enable = &amp;#34;FALSE&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;prefvmx.useRecommendedLockedMemSize = &amp;#34;TRUE&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Boot up the vm, and check if the firmware is UEFI or not:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls /sys/firmware/efi/efivars
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;if it&amp;rsquo;s legacy BIOS, it will returns &lt;code&gt;No such file or directory.&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="partitioning"&gt;&lt;a href="#partitioning" class="header-anchor"&gt;&lt;/a&gt;Partitioning
&lt;/h2&gt;&lt;p&gt;Create a &lt;a class="link" href="https://wiki.archlinux.org/title/Installation_guide#Example_layouts" title="Partition layout "
 target="_blank" rel="noopener"
 &gt;new GPT partition table and partitioned with an EFI Partition no less than 300MiB&lt;/a&gt; and an Linux partition with &lt;code&gt;cgdisk&lt;/code&gt; or any other partition tools you want to use:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cgdisk /dev/sda
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="format-partitions"&gt;&lt;a href="#format-partitions" class="header-anchor"&gt;&lt;/a&gt;Format partitions
&lt;/h3&gt;&lt;h4 id="efi"&gt;&lt;a href="#efi" class="header-anchor"&gt;&lt;/a&gt;EFI
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkfs.fat -F32 /dev/sda1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="root-system"&gt;&lt;a href="#root-system" class="header-anchor"&gt;&lt;/a&gt;Root system
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkfs.btrfs -f -L Arch /dev/sda2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="building-btrfs-subvolume"&gt;&lt;a href="#building-btrfs-subvolume" class="header-anchor"&gt;&lt;/a&gt;Building BTRFS subvolume
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@&lt;/code&gt;：corresponding to &lt;code&gt;/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@home&lt;/code&gt;：corresponding to&lt;code&gt;/home&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@cache&lt;/code&gt;：corresponding to &lt;code&gt;/var/cache&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@docker&lt;/code&gt;：corresponding to &lt;code&gt;/var/lib/docker&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@log&lt;/code&gt;：corresponding to &lt;code&gt;/var/log&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enabling COW in &lt;code&gt;@cache, @log&lt;/code&gt; is not needed.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mount root partition to &lt;code&gt;/mnt&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -t btrfs -o &lt;span class="nv"&gt;compress&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;lzo /dev/sda2 /mnt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;Generally we lzo is good enough. Reports shows that btrfs is way slower even under Zstd:1, while lzo has nearly no difference compared with non-compressed.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Create subvolumes:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@home
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@docker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;btrfs subvol create /mnt/@swap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Use chattr to disable COW &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chattr +C /mnt/@cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chattr +C /mnt/@log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chattr +C /mnt/@swap
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Umount the partition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /mnt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="mount-partitions-and-subvolumes"&gt;&lt;a href="#mount-partitions-and-subvolumes" class="header-anchor"&gt;&lt;/a&gt;Mount partitions and subvolumes
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@ /dev/sda2 /mnt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p /mnt/&lt;span class="o"&gt;{&lt;/span&gt;boot/efi,home,var/&lt;span class="o"&gt;{&lt;/span&gt;log,lib/docker,cache&lt;span class="o"&gt;}&lt;/span&gt;,tmp,swap&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@home /dev/sda2 /mnt/home
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@log /dev/sda2 /mnt/var/log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@docker /dev/sda2 /mnt/var/lib/docker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@cache /dev/sda2 /mnt/var/cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@tmp /dev/sda2 /mnt/tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o noatime,nodiratime,ssd,compress&lt;span class="o"&gt;=&lt;/span&gt;lzo,subvol&lt;span class="o"&gt;=&lt;/span&gt;@swap /dev/sda2 /mnt/swap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="mount-efi-partition"&gt;&lt;a href="#mount-efi-partition" class="header-anchor"&gt;&lt;/a&gt;Mount EFI partition:
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/sda1 /mnt/boot/EFI
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="install-the-system"&gt;&lt;a href="#install-the-system" class="header-anchor"&gt;&lt;/a&gt;Install the system
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pacstrap /mnt base base-devel linux linux-firmware btrfs-progs networkmanager dhcpcd iwd vim sudo zsh zsh-completions &lt;span class="o"&gt;{&lt;/span&gt;intel,amd&lt;span class="o"&gt;}&lt;/span&gt;-ucode net-tools linux-headers curl git wget 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="generate-fstab"&gt;&lt;a href="#generate-fstab" class="header-anchor"&gt;&lt;/a&gt;Generate fstab
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;genfstab -U /mnt &amp;gt; /mnt/etc/fstab
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check again carefully after generation. Then proceed to post installation.&lt;/p&gt;
&lt;h2 id="post-installation"&gt;&lt;a href="#post-installation" class="header-anchor"&gt;&lt;/a&gt;Post Installation
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;arch-chroot /mnt	
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="set-mirror-for-pacman"&gt;&lt;a href="#set-mirror-for-pacman" class="header-anchor"&gt;&lt;/a&gt;Set mirror for pacman
&lt;/h3&gt;&lt;p&gt;Use reflector or just update &lt;code&gt;/etc/pacman.d/mirrorlist&lt;/code&gt;, then apply changes via &lt;code&gt;pacman -Syy&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="install-bootloader"&gt;&lt;a href="#install-bootloader" class="header-anchor"&gt;&lt;/a&gt;Install bootloader
&lt;/h3&gt;&lt;p&gt;In this article we use grub as the bootloader, since it is one of a few bootloaders has a good support to btrfs.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pacman -S grub efibootmgr os-prober
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;grub-install --target&lt;span class="o"&gt;=&lt;/span&gt;x86_64-efi --efi-directory&lt;span class="o"&gt;=&lt;/span&gt;/boot/efi --bootloader-id&lt;span class="o"&gt;=&lt;/span&gt;Arch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;successful results is shown below.&lt;/p&gt;
&lt;p&gt;&lt;img alt="grub install success result" class="gallery-image" data-flex-basis="5461px" data-flex-grow="2275" height="45" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/grubInstallSuccessfulResult.png" srcset="https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/grubInstallSuccessfulResult_hu_f778010c4f0821d.png 800w, https://blog.ous50.moe/p/%E5%9C%A8-vmware-%E4%B8%AD%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8-btrfs-%E7%9A%84-arch-linux/grubInstallSuccessfulResult.png 1024w" width="1024"&gt;&lt;/p&gt;
&lt;p&gt;Then do some optimization. Increase the log level and add &lt;code&gt;nowatchdog&lt;/code&gt; param to accelerate the speed of booting and powering off:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nano /etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and edit as below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-diff" data-lang="diff"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gd"&gt;- GRUB_CMDLINE_LINUX_DEFAULT= &amp;#34;loglevel=5&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gi"&gt;+ GRUB_CMDLINE_LINUX_DEFAULT= &amp;#34;loglevel=5 nowatchdog&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Save it and then generate new grub config file to apply changes.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;root@archiso /&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="c1"&gt;# grub—mkconfig —o /boot/grub/grub.cfg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Generating grub configuration file ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Found linux image: /boot/vmlinuz-linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Found initrd image: /boot/intel—ucode.img /bootzamd—ucode.img /boot/initramfs—linux.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Found fal Iback initrd image&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt; in /boot :
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;intel—ucode.img amd—ucode.img initramfs—linux—fallback.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Warning: os—prober will not be executed to detect other bootable partitions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Systems on them will not be added to the GRUB boot configuration.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Check documentation entry.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Adding boot menu entry &lt;span class="k"&gt;for&lt;/span&gt; UEFI Firmware Settings ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="set-hostname-and-hosts"&gt;&lt;a href="#set-hostname-and-hosts" class="header-anchor"&gt;&lt;/a&gt;Set hostname and hosts
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;newHostname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Your-new-hostname&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$newHostname&lt;/span&gt; &amp;gt; /etc/hostname
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;127.0.0.1 localhost\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;::1 localhost\n&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;127.0.1.1 &lt;/span&gt;&lt;span class="nv"&gt;$newHostname&lt;/span&gt;&lt;span class="s2"&gt;.localdomain &lt;/span&gt;&lt;span class="nv"&gt;$newHostname&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/hosts
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="set-timezone"&gt;&lt;a href="#set-timezone" class="header-anchor"&gt;&lt;/a&gt;Set Timezone
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ln -sf /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=""&gt;&lt;a href="#" class="header-anchor"&gt;&lt;/a&gt;
&lt;/h3&gt;&lt;h3 id="set-locale"&gt;&lt;a href="#set-locale" class="header-anchor"&gt;&lt;/a&gt;Set locale
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nano /etc/locale.gen
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and uncomment &lt;code&gt;en-US.UTF-8 UTF-8&lt;/code&gt; and any locale you wanna to use, then generate locale and set en_US locale:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;locale-gen &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;LANG=en_US.UTF-8&amp;#39;&lt;/span&gt; &amp;gt; /etc/locale.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="setting-up-user-accounts"&gt;&lt;a href="#setting-up-user-accounts" class="header-anchor"&gt;&lt;/a&gt;Setting up user accounts
&lt;/h3&gt;&lt;p&gt;First set the root account password:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;passwd root	
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;yourName&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;example&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;useradd -m &lt;span class="nv"&gt;$yourName&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Set a new password for the user &lt;/span&gt;&lt;span class="nv"&gt;$yourName&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; passwd &lt;span class="nv"&gt;$yourName&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="desktop-environment"&gt;&lt;a href="#desktop-environment" class="header-anchor"&gt;&lt;/a&gt;Desktop Environment
&lt;/h3&gt;&lt;p&gt;In this article we install &lt;a class="link" href="https://wiki.archlinux.org/title/KDE" target="_blank" rel="noopener"
 &gt;KDE&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pacman -S plasma plasma-wayland-session egl-wayland kde-{accessibility,graphics,multimedia,network,pim,sdk,system,utilities}-meta
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="vmware-tools"&gt;&lt;a href="#vmware-tools" class="header-anchor"&gt;&lt;/a&gt;VMware Tools
&lt;/h3&gt;&lt;p&gt;Arch Linux is not supported in the official VMware Tools. OpenVMTools is commonly used.&lt;/p&gt;
&lt;p&gt;Using Open VM Tools one cannot resize the screeen properly. Here&amp;rsquo;s a solution following to a &lt;a class="link" href="https://www.reddit.com/r/archlinux/comments/b0ona0/vmtools_on_arch_linux_full_screen_or_resizing/" title="vmware tools how-to"
 target="_blank" rel="noopener"
 &gt;reddit post&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo pacman -Syu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo pacman -S open-vm-tools
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo pacman -Su xf86-input-vmmouse xf86-video-vmware mesa gtk2 gtkmm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;needs_root_rights&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;yes &lt;span class="p"&gt;|&lt;/span&gt; sudo tee /etc/X11/Xwrapper.config
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; --now vmtoolsd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And you are good to go.&lt;/p&gt;
&lt;p&gt;Reference:&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://blog.zrlab.org/posts/arch-btrfs" target="_blank" rel="noopener"
 &gt;https://blog.zrlab.org/posts/arch-btrfs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://wiki.archwiki.org" target="_blank" rel="noopener"
 &gt;https://wiki.archwiki.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://ericclose.github.io/Installing-Arch-as-a-guest-with-UEFI-and-GPT.html" target="_blank" rel="noopener"
 &gt;https://ericclose.github.io/Installing-Arch-as-a-guest-with-UEFI-and-GPT.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://arch.icekylin.online/rookie/basic-install.html" target="_blank" rel="noopener"
 &gt;https://arch.icekylin.online/rookie/basic-install.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.reddit.com/r/archlinux/comments/b0ona0/vmtools_on_arch_linux_full_screen_or_resizing/" target="_blank" rel="noopener"
 &gt;https://www.reddit.com/r/archlinux/comments/b0ona0/vmtools_on_arch_linux_full_screen_or_resizing/&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>