about |*arch-usb*| meditations | mirror symmetry | vim.txt | ramroot

2021-09-09

   _          _    _    _                _   _ ___ ___
  /_\  _ _ __| |_ | |  (_)_ _ _  ___ __ | | | / __| _ )
 / _ \| '_/ _| ' \| |__| | ' \ || \ \ / | |_| \__ \ _ \
/_/ \_\_| \__|_||_|____|_|_||_\_,_/_\_\  \___/|___/___/

+-------------------+
|                   |
|                   |
|                   |
+-------------------+
|                   |
|                   |
|                   |
|                   |
|                   |
|                   |
+-------------------+
                     
  Before You Begin
 *Live ISO*
  Arch-USB

  Live ISO
    keys/language
  Internet
    wired
    wireless
    system time

Boot Up Live Installation ISO
=============================

Insert you USB or CD installation medium in the computer and boot it up. Use the computer's boot menu (usually invoked with [F12] on a PC or the [option] key on a Mac) to select the inserted boot media. When presented with the boot device selection menu, select the entry for either BIOS or UEFI as explained above.

A bootloader menu will appear with several options. Select the Boot Arch Linux (x86_64) or (i686) option as explained above. After a minimal amount of necessary drivers are loaded to RAM, you will be presented with a root Z shell prompt.

keymap/language
---------------

The default console keymap and language in the live shell are, respectively, US and US English UTF-8. For my purposes (speaking mostly English, living mostly in Wisconsin) this has always been exactly what I needed, and the steps below to change these settings have never been required.

If a different keyboard mapping is required, view the available keymaps:
+-----------------------------------------------+
|#                                              |
+-----------------------------------------------+

   ls /usr/share/kbd/keymaps/**/*.map.gz | less

Load the required keymap. Here, mapname is the filename of the required map without path or file extension:
+-------------------+
|#                  |
+-------------------+

   loadkeys mapname


To change the language of the live root environment, edit /etc/locale.gen and uncomment the line containing your desired language (for US English, uncomment en_US.UTF-8 UTF-8):
+----------------------+
|#                     |
+----------------------+

   vim /etc/locale.gen

Generate the locale information:
+-------------+
|#            |
+-------------+

   locale-gen


Ensure the LANG variable is set in /etc/locale.conf (localeline is the uncommented line in /etc/locale.gen):
+------------------------------------------+
|#                                         |
+------------------------------------------+

   echo LANG=localeline > /etc/locale.conf


Connect to the Internet
=======================

If there is an active networking cable plugged into the machine, the live shell will bring up the computer's network interface card and automatically attempt to lease an IP address from the network during bootup. To check the network connection, ping some website:
+----------------------+
|#                     |
+----------------------+

   ping -c1 google.com


wired
-----

Wired networking should work out-of-the-box on the installation ISO via networkd. If you have an active networking cable plugged into the machine and you are unable to connect to the internet, begin troubleshooting by viewing the interface names and statuses:
+----------+
|#         |
+----------+

   ip link

Ensure the network device is powered; ethname is the name of the interface of type link/ether (most likely the name is eno1 or eno0):
+-------------------------+
|#                        |
+-------------------------+

   ip link set ethname up

Now attempt to manually lease a DHCP IP address from the network:
+-----------------+
|#                |
+-----------------+

   dhcpcd ethname

If you are issued a lease, try to ping an outside server again:
+-------------------------+
|#                        |
+-------------------------+

   ping -c1 archlinux.org


If you still aren't connected or were unable to lease an IP address, view all the instances of dhcpcd to see what the hell is going on:
+-------------------------------------+
|#                                    |
+-------------------------------------+

   systemctl list-units | grep dhcpcd

See detailed instance information to troubleshoot any hardware issues:
+------------------------------------------+
|#                                         |
+------------------------------------------+

   systemctl status dhcpcd@ethname.service

If you still can't connect to the internet, see the ArchWiki for further help.

wireless
--------

If a wired connection is unavailable or you prefer to use wifi, most wireless interfaces are supported by the drivers on the installation ISO. To check if this is possible on your current machine, see if any kernel drivers have been loaded for the wireless interface:
+-------------------------------------------+
|#                                          |
+-------------------------------------------+

   lspci -k | grep -A3 'Network controller'


If no device is present or no drivers have been loaded, you are mostly out of luck; although it technically may be possible to import the proper drivers via some other removable memory device, such a procedure is far beyond the scope of this guide. If you really want to keep pursuing this route, checkout the official Linux wireless wiki and the ArchWiki wireless page to get started.

If the drivers have been loaded, launch iwctl to control any wifi interfaces from the command line:
+--------+
|#       |
+--------+

   iwctl

List all detected wifi devices (the device you want to use is most likely named wlan0):
+-------------------+
|[iwd]#             |
+-------------------+

        device list

Scan for networks:
+---------------------------+
|[iwd]#                     |
+---------------------------+

        station device scan

List available networks:
+-----------------------------------+
|[iwd]#                             |
+-----------------------------------+

        station device get-networks

Connect to a network:
+-----------------------------------+
|[iwd]#                             |
+-----------------------------------+

        station device connect SSID

Exit iwctl:
+------------+
|[iwd]#      |
+------------+

        exit


Check your network connection:
+-------------------------+
|#                        |
+-------------------------+

   ping -c1 archlinux.org

If you are unable to obtain a wireless network connection, see the ArchWiki for more information (good luck!).

system time
-----------

Once connected to the internet, turn on the network time protocol to synchronize system time:
+---------------------------+
|#                          |
+---------------------------+

   timedatectl set-ntp true