Beginners' Guide/Installation (Português)
zh-CN:Beginners' Guide/Installation
Contents
- 1 Instalação
- 1.1 Alterar a linguagem
- 1.2 Estabelecendo conexão com a internet
- 1.3 Preparando os Discos
- 1.4 Montando as Partições
- 1.5 Selecionando um repositório
- 1.6 Instalando o sistema Base
- 1.7 Crie um FSTAB
- 1.8 Chroot e configuração do sistema base
- 1.9 Configure the network
- 1.10 Configure pacman
- 1.11 Create an initial ramdisk environment
- 1.12 Set the root password and add a regular user
- 1.13 Install and configure a bootloader
- 1.14 Update the system
- 1.15 Unmount the partitions and reboot
Instalação
A partir deste momento, você está automaticamente logado em uma shell como usuário root.
Alterar a linguagem
Por padrão, a linguagem do teclado é a us
. Para utilizadores do Brasil:
# loadkeys br-abnt2
Para utilizadores de outras comunidades lusófonas:
# loadkeys pt-latin9
A fonte de letra do console também pode ser alterada, pois a maioria das linguagens utiliza o padrão de 26 letras do. Nestes casos, alguns caracteres podem aparecer na tela como quadrados brancos ou outros símbolos esquisitos. Note que o comando abaixo é case-sensitive, portanto, digite exatamente da forma como está escrito:
# setfont Lat2-Terminus16
Por padrão, a linguagem da instalação é o Inglês(US). Para alterar a linguagem durante o processo de instalação, basta remover o #
na localização desejada no arquivo /etc/locale.gen
, junto com a entrada em inglês. Priorize a escolha a entrada UTF-8
. Utilize o editor de sua escolha, apesar deste manual utilizar o nano.
Pressione Template:Keypress para sair, e quando perguntado para salvar as alterações, pressione Template:Keypress seguido de Template:Keypress para sobrescrever o arquivo.
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 pt_BR.UTF-8 UTF-8
# locale-gen # export LANG=pt_BR.UTF-8
ou
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 pt_PT.UTF-8 UTF-8
# locale-gen # export pt_PT.UTF-8 UTF-8
Lembre-se, Template:Keypress ativa e desativa um mapa de teclado.
Estabelecendo conexão com a internet
O serviço The dhcpcd
inicia automaticamente em tempo de inicialização, e tentará iniciar uma conexão cabeada se disponível. Tente pingar um site para verificar a disponibilidade. Como o google tá sempre online...
# ping -c 3 www.google.com
PING www.l.google.com (74.125.132.105) 56(84) bytes of data. 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms --- www.l.google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms
Caso você receba o erro ping: unknown host
, você deverá configurar a rede manualmente, como descrito abaixo.
Caso contrário, vá para o tópico Preparando os Discos.
Rede Cabeada
Siga o seguinte procedimento para configurar sua conexão cabeada com um endereço IP estático.
Caso o seu computador esteja conectado a uma rede Ethernet, na maioria dos casos, você possuirá uma interface chamada eth0
. Caso você tenha interfaces adicionais(como por exemplo, uma interface integrada a placa-mãe) elas seguirão a sequência eth1
, eth2
, etc.
Você precisa conhecer as seguintes informações:
- Endereço IP estático.
- Máscara de rede.
- Endereço do Gateway
- Endereço do DNS
- Nome do domínio(a memos que esteja em uma LAN local, onde pode ignorar tal informação).
Para ativar uma interface de rede como a eth0
:
# ip link set eth0 up
Adicione um endereço:
# ip addr add <ip address>/<subnetmask> dev <interface>
Exemplo:
# ip addr add 192.168.1.2/24 dev eth0
Para maiores opções, execute man ip
.
Adicione o seu gateway da seguinte forma, substituindo o endereço IP pelo do seu gateway em questão:
# ip route add default via <ip address>
Exemplo:
# ip route add default via 192.168.1.1
Edite o arquivo resolv.conf
, substituindo no parametro "nameserver" os endereços IP dos DNS's disponíveis, e o valor do seu domínio no parametro "search".
# nano /etc/resolv.conf
nameserver 61.23.173.5 nameserver 61.95.849.8 search example.com
nameserver
podem ser incluídos neste arquivo.A partir daqui, você deve ter acesso a rede cabeada. Caso contrário, dê uma verificada na página Configuring Network (Português).
Wireless
Siga este procedimento caso você precise de conectividade (Wi-Fi) durante o processo de instalação.
Os drivers e utilitários para conexão sem fio agora estão disponíveis na mídia de instalação. Um bom conhecimento do seu hardware sem fio será de suma importância para a obter sucesso na configuração. Note que seguindo o procedimento deste passo-a-passo habilitará seu hardware durante a utilização do sistema live ou executando em determinado processo da instalação. Estes passos precisam ser repetidos após um reboot no sistema.
Note também que estes passos são opcionais, pois se a conexão sem fio é desnecessária ao processo de instalação, estas configurações podem ser executadas em um período posterior.
wlan0
para a interface de rede e linksys
para a ESSID. Lembre de alterar estes valores de acordo com a sua configuração.O procedimento básico será:
- (opcional) Identificar a sua interface wireless:
# lspci | grep -i net
Ou, se utilizando uma placa externa(usb):
# lsusb
- Certifique-se de que o udev carregou o driver apropriado, e que uma interface utilizável foi criada, através do comando
iwconfig
:
# iwconfig
lo no wireless extensions. eth0 no wireless extensions. wlan0 unassociated ESSID:"" Mode:Managed Channel=0 Access Point: Not-Associated Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0 Retry limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Neste exemplo, wlan0
é a interface disponívei.
- Para levantar a interface:
# ip link set wlan0 up
Uma pequena porcentagem dos dispositivos sem fio também necessitam de um firmware para o driver correspondente. Caso sua interface precide se um, o "erro comum" que pode acontecer ao levantar a interface é o seguinte:
# ip link set wlan0 up
SIOCSIFFLAGS: No such file or directory
Caso tenha dúvidas, utilize o dmesg
para buscar por informações no log de kernel e encontrar qual o possível firmware a ser utilizado.
Exemplo de saída de um dispositivo da Intel, requisitando o firmware durante o boot:
# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode
Caso não haja saída, pode ser concluído que nenhuma firmware é necessária para a sua placa.
/usr/lib/firmware
no ambiente de instalação(liveCD ou liveUSB), porém, devem ser explicitamente instalados ao seu sistema para serem funcionais após o reiniciar da instalação!. A instalação de pacotes será aborada mais tarde neste guia. Certifique-se da instalação de ambos, o módulo e a firmware antes de reiniciar! Veja Wireless Setup (Português) caso esteja incerto dos requisitos de firmware correspondentes ao seu sistema em particular.Após, utilize o pacote netcfg, e seu utilitário wifi-menu para conectar a rede:
# wifi-menu wlan0
A partir de agora, você já deve ter uma conexão de internet funcionando. Caso contrário, verifique a página Wireless Setup (Português).
ADSL/DSL(PPPoE), modem analógico ou ISDN
Caso você tenha um roteador configurado em modo bridge, rode:
# pppoe-setup
- Digite seu nome de usuário, provido pelo seu provedor de internet.
- Pressione Template:Keypress para "eth0".
- Pressione Template:Keypress "não", para manter.
- Digite
server
(opção comum). - Pressione Template:Keypress para firewall.
- Digite a senha que o provedor de internet criou para você.
- Pressione Template:Keypress no final.
Para usar a conexão configurada, rode:
# pppoe-start
Possivelmente você precisará fazer ajustes ao arquivo resolv.conf
:
# echo nameserver 8.8.8.8 > /etc/resolv.conf
Se você tentando conectar-se através de um mode analógico(dial-up) ou uma conexão ISDN, veja Direct Modem Connection (Português).
Configurando servidor proxy
Caso seu computador esteja atrás de um servidor proxy, exporte as variáveis de ambiente http_proxy
e ftp_proxy
. Clique aqui para maiores informações.
Preparando os Discos
Para completos iniciantes, encorajamos ferramentas gráficas de particionamento. O GParted é um bom exemplo de uma distribuição Linux live, assim como Parted Magic,,, etc. Um dispositivo deve ser primeiramente particionado e então as partições serão formatadas com um sistema de arquivos antes de reiniciar.
Caso já tenha executado este passo, prossiga para Montando as partições. Caso contrário, siga o exemplo:
Exemplo
A mídia de instalação do Arch Linux provê as seguinter ferramentas de particionamento:
- parted – Suporta ambas.
Este exemplo utiliza o cfdisk, mas ele pode ser facilmente adaptado para o gdisk, que permite o perticionamento em tabelas do tipo GPT.
# cfdisk /dev/sda
Este exemplo mostrará um sistema que terá 15 GB de partição raíz (/
), 1GB de partição swap
, e o espaço remanescente será destinado ao /home
.
Vale enfatizar que particionamento de disco trata-se de gosto pessoal, e que este exemplo existe para propósitos ilustrativos. Veja Particionamento.
Raíz:
- Escolha Nova (ou pressione Template:Keypress) - Template:Keypress para Primaria - digite "15360" - Template:Keypress para "No início" - Template:Keypress para Bootável.
Swap:
- Pressione seta para baixo para mover a seleção para o "espaço livre" no disco rígido.
- Escolha Nova (ou pressione Template:Keypress) - Template:Keypress para Primaria - digite "1024" – Template:Keypress para "No início".
- Escolha o tipo (ou pressione Template:Keypress) – pressione qualquer tecla para rolar a lista para baixo - Template:Keypress para 82.
Home:
- Pressione seta para baixo para mover a seleção para o "espaço livre" no disco rígido.
- Escolha Nova (ou pressione Template:Keypress) – Template:Keypress para Primaria - Template:Keypress para usar o restante do espaço em disco.
O resultado do particionamento ficara parecido com este:
Name Flags Part Type FS Type [Label] Size (MB) ----------------------------------------------------------------------- sda1 Boot Primary Linux 15360 sda2 Primary Linux swap / Solaris 1024 sda3 Primary Linux 133000*
Verifique novamente, e se certifique que você está contente com os tamanhos das partições assim como o layout delas antes de continuar.
Se quiser reiniciar o processo, você pode simplesmente selecionar "Sair" (ou pressionar Template:Keypress) para sair do particionador sem salvar quaisquer alterações feitas no disco. Depois, basta executar o cfdisk novamente.
Se tiver satisfeito, selecione Gravar (ou pressione Template:Keypress) para finalizar a gravação da tabela de partições para o disco. Digite "Sim"(yes) e selecione Sair (ou pressionar Template:Keypress) para sair do cfdisk.
Particionar não é o bastante; As partições precisam de um sistema de arquivos. Para formatar as partições com um sistema de arquivos ext4:
/dev/sda1
que você deseja formatar. Pode mudar de caso para caso.# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda3
E para formatar e ativar a partição de swap:
# mkswap /dev/sda2 # swapon /dev/sda2
Montando as Partições
Cada partição é identificada por um sufixo numeral. Por exemplo, sda1
especifica a primeira partição do primeiro driver, enquanto sda
designa o disco por completo.
Para ver o layout de particionamento atual:
# lsblk /dev/sda
Preste atenção na ordem de montagem, pois ela é importante.
Primeiro, monte a partição raíz em /mnt
. Seguindo o exemplo abaixo (em seu sistema, pode ser diferente) seria algo como:
# mount /dev/sda1 /mnt
Monte então a partição destinada ao /home
e outras separadas para o /boot
, /var
, etc, caso desejar:
# mkdir /mnt/home # mount /dev/sda3 /mnt/home
No caso da partição /boot
ser separada:
# mkdir /mnt/boot # mount /dev/sdaX /mnt/boot
Se a sua placa-mãe possuir suporte a UEFI, monte a partição da seguinte maneira:
# mkdir /mnt/boot/efi # mount /dev/sdaX /mnt/boot/efi
Selecionando um repositório
Antes de instalar, você pode desejar configurar seu arquivo mirrorlist
para apontar pra um repositório de seu interesse. Uma cópia deste arquivo será instalado no seu sistema através do pacstrap
# nano /etc/pacman.d/mirrorlist
## ## Arch Linux repository mirrorlist ## Sorted by mirror score from mirror status page ## Generated on 2012-MM-DD ## Server = http://mirror.example.xyz/archlinux/$repo/os/$arch ...
- Template:Keypress para copiar a linha
Server
. - Template:Keypress para subir no arquivo.
- Template:Keypress para colar a linha copiada no topo do arquivo.
- Template:Keypress para sair, e quando lhe for perguntado se deseja salvar as alterações, pressione Template:Keypress e Template:Keypress para sobrescrever o arquivo
Se desejar, você pode configurar para que este seja o único repositório disponível, excluindo todo o resto (usando Template:Keypress), porém, é uma boa idéia ter mais de um repositório disponível, caso um deles esteja offline.
- Use o Mirrorlist Generator para obter uma lista atualizada dos repositórios de seu país. Repositórios HTTP são mais rápidos que FTP, devido a um conceito chamado keepalive. Via FTP, o pacman precisa enviar um sinal a cada momento que um pacote é baixando, resultando em uma pequena pausa. Para outras formas de gerar repositórios, veja organizando repositórios e Reflector.
- Arch Linux MirrorStatus reporta diversos aspectos sobre os repositórios como problemas de rede, problemas de coleta de dados, última data de sincronia, etc.
- Sempre que mudar sua lista de repositoŕios, lembre-se de forçar o pacman a atualizar todas as listas de pacotes através de um
pacman -Syy
. Esta ação é considerada uma boa prática e pode evitar dores de cabeça. Veja Mirrors para maiores informações. - Se estiver usando uma mídia de instalação antiga, suas listas de repositórios podem estar desatualizadas, podendo causar problemas na atualização relacionadas ao FS#22510. Por isto, utilize sempre a última mídia disponível como descrito acima.
- Alguns problemas foram reportados nos fórums do Arch Linux relacionados a rede, impedindo o pacman a atualizar/sincronizar repositórios(veja [1] e [2]). Quando instalando o Arch Linux nativamente, estes problemas são contornados substituindo o "baixador de arquivos" do pacman por uma alternativa(veja Aumento de performance do Pacman para maiores detalhes). Quando instalar o Arch Linux como hóspede no [VirtualBox]], este problema pode ocorrer ao usar uma interface do tipo "Host interface" ao invés de "NAT" nas configurações desta máquina.
Instalando o sistema Base
O sistema base é instalado usando o script pacstrap.
# pacstrap /mnt base base-devel
- base: Softwares que fazem parte do repositório [core], fazendo parte do ambiente mínimo necessário.
- base-devel: Ferramentas extras fora do [core] como
make
eautomake
. A maioria dos iniciantes irá instalar este grupo, que será necessário para aumentar o sistema no futuro. O base-devel é um grupo necessári para a instalação de pacotes vindos do Arch User Repository.
Isto lhe dará um ambiente Arch básico. Outros pacotes podem ser instalados mais tarde através do pacman.
Crie um FSTAB
Crie um arquivo fstab com o seguinte comando. Se preferir utilizar UUIDs ou labels, adicione as opções -U
ou -L
respectivamente. É interessante verificar esta informação antes de continuar:
# genfstab -p /mnt >> /mnt/etc/fstab # nano /mnt/etc/fstab
Apenas a partição raíz (/
) precisa de 1
no último campo. O restante, deve ter 2
ou 0
(veja definições do fstab).
Adicionalmente, data=ordered
deve ser removido. Esta opção é usada automaticamente você definindo-a ou não, então, pode ser removida para manter a "clareza" do arquivo fstab.
Chroot e configuração do sistema base
Depois, faremos um chroot ao nosso novo sistema recém instalado:
# arch-chroot /mnt
Neste estágio da instalação, você configurará arquivos primários na base do seu Arch Linux. Estes podem ser criados caso existam ou não, ou editados caso deseje mudar a configuração padrão.
Entender todos os passos descritos é de suma importancia para garantir a configuração perfeita do sistema.
Localização(locale)
Localizações utilizadas pela glibc e outros programas e bibliotecas com tal capacidade para renderizar texto, mostrarão de forma correta opções regionais monetárias, de formato de data, de idiossincrasia, e outros padrões específicos de cada localidade.
Dois arquivos precisam ser editados: locale.gen
e locale.conf
.
- O arquivo
locale.gen
é limpo por padrão(todas linhas comentadas) e você precisará remover o#
das linhas desejadas. Você deverá descomentar mais linhas que apenas o Inglês (US), assim que escolher a codificaçãoUTF-8
: encoding:
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 pt_BR.UTF-8 UTF-8
# locale-gen
Este comando irá rodar em cada atualização de glib, gerando novamente todas as localizações configuradas no /etc/locale.gen
.
- O arquivo
locale.conf
não existe por padrão. Configurar a variávelLANG
será o suficiente. Esta variável será utilizada como padrão por outras variáveis
# echo LANG=pt_BR.UTF-8 > /etc/locale.conf # export LANG=pt_BR.UTF-8
Para usar outras variáveis do tipo LC_*
, primeiro rode o comando locale
para verificar as opções disponíveis. Um exemplo avançado pode ser encontrado aqui.
LC_ALL
é desencorajado por sobrepor tudo.Fontes de console e Mapa de teclado
Se você alterou o mapa do teclado no inicio do processo de instalação, recarregue tal configuração novamente pois seu ambiente mudou. Exemplo:
# loadkeys br-abnt2 # setfont Lat2-Terminus16
Para utilizadores de outras comunidades lusófonas:
# loadkeys pt-latin9 # setfont Lat2-Terminus16
Para que tais configurações persistam após um reboot, edite o arquivo vconsole.conf
:
# nano /etc/vconsole.conf
KEYMAP=br-abnt2 FONT=Lat2-Terminus16 FONT_MAP=
-
KEYMAP
– Tenha em mente que esta configuração é válida apenas para as suas TTYs, e não para gerenciadores gráficou ou seu Xorg.
-
FONT
– Fontes disponíveis estão localizadas em/usr/share/kbd/consolefonts/
. A fonte padrão é livre de falhas, porém, pode fazer com que caracteres estrangeiros apareçam como quadrados ou outros símbolos. É recomandado a fonteLat2-Terminus16
pois de acordo com o/usr/share/kbd/consolefonts/README.Lat2-Terminus16
, suporta "todos as linguagens l10".
-
FONT_MAP
– Mapa de console a ser carregado durante o boot. Leiaman setfont
. O padrão(em branco) é seguro
Veja See fontes de console e man vconsole.conf
para maiores informações.
Fuso Horário
Os fusos horário disponíveis podem ser encontrados nos diretórios /usr/share/zoneinfo/<Zona>/<SubZona>
Para visualizar uma <Zona> disponível, liste o conteúdo de /usr/share/zoneinfo/
:
# ls /usr/share/zoneinfo/
De forma similar, a informação de uma <SubZona> pode ser obtida:
# ls /usr/share/zoneinfo/Europe
Crie um link simbólico para /etc/localtime
com origem no seu fuso horário seguindo o padrão /usr/share/zoneinfo/<Zona>/<SubZona>
.
Examplo:
# ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
Relógio do Hardware
Defina o modo do relógio de hardware de modo uniforme entre seus sistemas operacionais. Caso contrário, eles podem substituir o relógio do hardware e provocar mudanças de tempo.
Você pode gerar o arquivo /etc/adjtime
automaticamente, usando um dos seguintes comandos:
- UTC (recomendado)
- Nota: A utilização UTC para o relógio do hardware não significa que o software irá exibir hora em UTC.
-
# hwclock --systohc --utc
- localtime (desencorajante; usado por padrão no Windows)
- Warning: Usando localtime pode levar a vários bugs conhecidos e incorrigíveis. No entanto, não há planos para largar suporte para localtime.
-
# hwclock --systohc --localtime
Se você tem (ou pensando em ter) uma configuração dual boot com o Windows:
- Recomendado: Definir tanto Arch Linux e Windows para usar UTC. Um rápido registro fixo é necessário. Além disso, certifique-se de impedir o Windows de sincronizar o tempo on-line, porque o relógio de hardware será o padrão de volta para o localtime. Se você quiser tal funcionalidade (NTP sync), você deve usar ntpd em sua instalação do Arch Linux em seu lugar.
- Não recomendado: Defina o Arch Linux para o localtime e desativar todos os serviços relacionados com o tempo, como
ntpd.service
. Isso vai deixar o Windows cuidar das correções do relógio do hardware e você precisa se lembrar de inicializar o Windows, pelo menos, duas vezes por ano (na Primavera e no Outono) quando DST retrocede. Então, por favor, não pergunte no fórum por que o relógio é de uma hora atrás ou à frente, se você costuma passar dias ou semanas sem entrar no Windows.
Módulos do Kernel
Para que os módulos do kernel carregue durante a inicialização, coloque um *.conf
no arquivo /etc/modules-load.d/
, com um nome baseado no programa que vai usá-lo.
# nano /etc/modules-load.d/virtio-net.conf
# Load 'virtio-net.ko' at boot. virtio-net
Se houver mais módulos para carregar por *.conf
, os nomes dos módulos podem ser separadas por novas linhas. Um bom exemplo são as Guest Additions in VirtualBox.
Linhas vazias e começando com #
ou ;
são ignorados.
Hostname
Add your hostname in /etc/hostname
:
# echo myhostname > /etc/hostname
Set it to your liking (e.g. arch). This is the name of your computer. And add it to /etc/hosts
, as well:
localhost
and your actual hostname, is required for program compatibility. Errors in these entries may cause poor network performance and/or certain programs to open very slowly, or not work at all.# nano /etc/hosts
127.0.0.1 myhostname localhost ::1 myhostname localhost #192.168.1.100 myhostname.domain.org myhostname #Uncomment if you use a static IP and remove this comment.
/etc/hosts
aliases for hosts on your network, and/or on the Web.
192.168.1.90 media 192.168.1.88 dataThe above example would allow you access to a media and data server on your network by name and without the need for typing out their respective IP addresses.
Configure the network
You need to configure the network again, but this time for your newly installed environment. The procedure and prerequisites are very similar to the one described above, except we are going to make it persistent and automatically run at boot.
Wired
- Dynamic IP
If you only use a single fixed wired network connection, you do not need a network management service and can simply enable the dhcpcd
service:
# systemctl enable dhcpcd@.service
Alternatively, you can use netcfg's net-auto-wired
, which gracefully handles dynamic connections to new networks:
# pacman -S netcfg ifplugd # cd /etc/network.d # ln -s examples/ethernet-dhcp . # systemctl enable net-auto-wired.service
- Static IP
Install netcfg and ifplugd, which are required for net-auto-wired
:
# pacman -S netcfg ifplugd
Copy a sample profile from /etc/network.d/examples
to /etc/network.d
:
# cd /etc/network.d # cp examples/ethernet-static .
Edit the profile as needed:
# nano ethernet-static
Enable the net-auto-wired
service:
# systemctl enable net-auto-wired.service
Wireless
You will need to install other programs to configure and manage wireless network profiles, such as netcfg.
NetworkManager and Wicd are other popular alternatives.
- Install the required packages:
# pacman -S wireless_tools wpa_supplicant wpa_actiond netcfg dialog
If your wireless adapter requires a firmware (as described in the above Establish an internet connection section and also here), install the package containing your firmware. For example:
# pacman -S zd1211-firmware
- Connect to the network with
wifi-menu
(optionally checking the interface name withip link
, but usually it'swlan0
), which will generate a profile file in/etc/network.d
named after the SSID. There are also templates available in/etc/network.d/examples/
for manual configuration.
# wifi-menu
- Enable the
net-auto-wireless
service, which will connect to known networks and gracefully handle roaming and disconnects:
# systemctl enable net-auto-wireless.service
- Make sure that the correct wireless interface (usually
wlan0
) is set in/etc/conf.d/netcfg
:
# nano /etc/conf.d/netcfg
WIRELESS_INTERFACE="wlan0"
It is also possible to define a list of network profiles that should be automatically connected, using the AUTO_PROFILES
variable in /etc/conf.d/netcfg
. If AUTO_PROFILES
is not set, all known wireless networks will be tried.
xDSL (PPPoE), analog modem or ISDN
For xDSL, analog modem (dial-up) and ISDN, see Direct Modem Connection.
Configure pacman
Pacman is the Arch Linux package manager. It is highly recommended to study and learn how to use it. Read man pacman
, have a look at the pacman article, or check out the Pacman Rosetta article for a comparison to other popular package managers.
For repository selections and pacman options, edit pacman.conf
:
[repo_name]
header lines, as well as the Include
lines. Failure to do so will result in the selected repository being omitted! This is a very common error.# nano /etc/pacman.conf
Most people will want to use [core]
, [extra]
and [community]
.
If you installed Arch Linux x86_64, it's recommended that you enable the [multilib]
repository, as well (to be able to run both 32 bit and 64 bit applications):
[multilib] Include = /etc/pacman.d/mirrorlist
See Official Repositories for more information, including details about the purpose of each repository.
For software unavailable directly through pacman, see Arch User Repository.
Create an initial ramdisk environment
mkinitcpio.conf
. The initramfs image (from the /boot
folder) has already been generated based on this file when the linux package (the Linux kernel) was installed earlier with pacstrap
.Here you need to set the right hooks if the root is on a USB drive, if you use RAID, LVM, or if /usr
is on a separate partition.
Edit /etc/mkinitcpio.conf
as needed and re-generate the initramfs image with:
# mkinitcpio -p linux
Set the root password and add a regular user
Set the root password with:
# passwd
Then add a normal user account. For a more interactive way, you can use adduser
. However, below is the non-interactive way. The user archie is just an example.
# useradd -m -g users -s /bin/bash archie # passwd archie
If you wish to start over, use userdel
. The -r
option will remove the user's home directory and its content, along with the user's settings (the so-called "dot" files).
# userdel -r archie
For more information, read Users and Groups.
Install and configure a bootloader
For BIOS motherboards
For BIOS systems, there are three bootloaders - Syslinux, GRUB, and LILO. Choose the bootloader as per your convenience. Below only Syslinux and GRUB are explained.
- Syslinux is (currently) limited to loading only files from the partition where it was installed. Its configuration file is considered to be easier to understand. An example configuration can be found here.
- GRUB is more feature-rich and supports more complex scenarios. Its configuration file(s) is more similar to a scripting language, which may be difficult for beginners to manually write. It is recommended that they automatically generate one.
Syslinux
Install the syslinux package and then use the syslinux-install_update
script to automatically install the files (-i
), mark the partition active by setting the boot flag (-a
), and install the MBR boot code (-m
):
pacman -S gptfdisk
), because it contains sgdisk
, which will be used to set the GPT-specific boot flag.# pacman -S syslinux # syslinux-install_update -iam
Configure syslinux.cfg
to point to the right root partition. This step is vital. If it points to the wrong partition, Arch Linux will not boot. Change /dev/sda3
to reflect your root partition (if you partitioned your drive as we did in the example, your root partition is sda1). Do the same for the fallback entry.
# nano /boot/syslinux/syslinux.cfg
... LABEL arch ... APPEND root=/dev/sda3 ro ...
For more information on configuring and using Syslinux, see Syslinux.
GRUB
/dev/sdaX
in the below command. You may use /dev/sdb
if you installed Arch there, as long as you set that drive to boot first from the BIOS settings.# pacman -S grub-bios # grub-install --target=i386-pc --recheck /dev/sda # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
While using a manually created grub.cfg
is absolutely fine, it's recommended that beginners automatically generate one:
pacman -S os-prober
) before running the next command.# grub-mkconfig -o /boot/grub/grub.cfg
For more information on configuring and using GRUB, see GRUB.
For UEFI motherboards
For UEFI boot, the drive needs to be GPT-partitioned, and a UEFI System Partition (512 MiB or higher, FAT32, type EF00
) must be present and mounted on /boot/efi
. If you have followed this guide from the beginning, you've already done all of these.
While there are other UEFI bootloaders available, using EFISTUB is recommended. Below are instructions for setting up EFISTUB and GRUB.
EFISTUB
The Linux kernel can act as its own bootloader using EFISTUB. This is the UEFI boot method recommended by developers and simpler compared to grub-efi-x86_64
. The below steps set up rEFInd (a fork of rEFIt) to provide a menu for EFISTUB kernels, as well as for booting other UEFI bootloaders. You can also use gummiboot (not tested) instead of rEFInd. Both rEFInd and gummiboot can detect Windows UEFI bootloader in case of dual-boot.
1. Boot in UEFI mode and load efivars
kernel module before chrooting:
# modprobe efivars # before chrooting
2. Mount the UEFISYS partition at /mnt/boot/efi
, chroot and copy the kernel and initramfs files to /boot/efi
.
3. Every time the kernel and initramfs files are updated in /boot
, they need to be updated in /boot/efi/EFI/arch
. This can be automated either using systemd or using incron (for non-systemd setups).
4. Install the following packages:
# pacman -S refind-efi-x86_64 efibootmgr
5. Install rEFInd to the UEFISYS partition (summarized from UEFI Bootloaders#Using rEFInd):
# mkdir -p /boot/efi/EFI/arch/refind # cp /usr/lib/refind/refindx64.efi /boot/efi/EFI/arch/refind/refindx64.efi # cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/arch/refind/refind.conf # cp -r /usr/share/refind/icons /boot/efi/EFI/arch/refind/icons
6. Create a refind_linux.conf
file with the kernel parameters to be used by rEFInd:
# nano /boot/efi/EFI/arch/refind_linux.conf
"Boot to X" "root=/dev/sdaX ro rootfstype=ext4 systemd.unit=graphical.target" "Boot to console" "root=/dev/sdaX ro rootfstype=ext4 systemd.unit=multi-user.target"
7. Add rEFInd to UEFI boot menu using efibootmgr.
efibootmgr
on Apple Macs may brick the firmware and may need reflash of the motherboard ROM. For Macs, use mactel-bootAUR, or "bless" from within Mac OS X.# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (rEFInd)" -l '\\EFI\\arch\\refind\\refindx64.efi'
/dev/sdc5
, X is "c" and Y is "5".8. (Optional) As a fallback, in case efibootmgr
created boot entry does not work, copy refindx64.efi
to /boot/efi/EFI/boot/bootx64.efi
as follows:
# cp -r /boot/efi/EFI/arch/refind/* /boot/efi/EFI/boot/ # mv /boot/efi/EFI/boot/refindx64.efi /boot/efi/EFI/boot/bootx64.efi
GRUB
grub-efi-i386
instead, and use --target=i386-efi
.# pacman -S grub-efi-x86_64 efibootmgr # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
Run the next command to create a menu entry for GRUB in the UEFI boot menu. See efibootmgr for more info.
# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (GRUB)" -l '\\EFI\\arch_grub\\grubx64.efi'
While using a manually created grub.cfg
is absolutely fine, it's recommended that beginners automatically generate one:
pacman -S os-prober
) before running the next command.# grub-mkconfig -o /boot/grub/grub.cfg
For more information on configuring and using GRUB, see GRUB.
Update the system
Often, the developers will provide important information about required configurations and modifications for known issues. The Arch Linux user is expected to consult these places before performing an upgrade:
- Arch news. If you did not read this before an upgrade and you encounter an error, check the news before you post a question on the forum!
- Announce mailing list.
Sync, refresh the package database, and upgrade your entire system with:
# pacman -Syu
Or, same thing:
# pacman --sync --refresh --sysupgrade
If you are prompted to upgrade pacman itself at this point, respond by pressing Template:Keypress, and then reissue the pacman -Syu
command when finished.
Keep in mind that Arch is a rolling release distribution. This means the user doesn't have to reinstall or perform elaborate system rebuilds to upgrade to the newest version. Issuing pacman -Syu
periodically (and noting the above warning) keeps the entire system up-to-date and on the bleeding edge. At the end of this upgrade, the system will be completely current.
See Pacman and FAQ#Package Management for answers regarding updating and managing packages.
Unmount the partitions and reboot
Exit from the chroot environment:
# exit
Since the partitions are mounted under /mnt
, we use the following command to unmount them:
# umount /mnt/{boot,home,}
Reboot the computer:
# reboot