Difference between revisions of "Installation Chroot"

From ArchWiki
Jump to: navigation, search
Line 40: Line 40:
 
{{warning|This method works only to install a system with the same architecture as the host system or to install a 32 bits system with a 64 bits host system.}}
 
{{warning|This method works only to install a system with the same architecture as the host system or to install a 32 bits system with a 64 bits host system.}}
  
Before we begin, we will crete the {{filename|tmp}} directory in the new architecture in order to put it temporary files. In {{ic|$install_path}}:
+
Before we begin, we will crete the {{ic|tmp}} directory in the new architecture in order to put it temporary files. In {{ic|$install_path}}:
 
  mkdir tmp
 
  mkdir tmp
 
  chmod 1777 tmp
 
  chmod 1777 tmp
Line 46: Line 46:
 
== Base system creation ==
 
== Base system creation ==
  
We need to download the archive and the package {{filename|pacman-mirrorlist}}:
+
We need to download the archive and the package {{ic|pacman-mirrorlist}}:
 
  cd "$install_path"/tmp
 
  cd "$install_path"/tmp
 
  wget "$mirror/core/os/$arch/pacman-mirrorlist-$pacman_mirrorlist_ver-any.pkg.tar.gz"
 
  wget "$mirror/core/os/$arch/pacman-mirrorlist-$pacman_mirrorlist_ver-any.pkg.tar.gz"
Line 54: Line 54:
 
  tar zxvf tmp/archlinux.chroot.$arch.tgz
 
  tar zxvf tmp/archlinux.chroot.$arch.tgz
  
The mirror configuration file ({{filename|etc/pacman.d/mirrorlist}}) have all its lines commented, you have to uncomment at least one line, for example :
+
The mirror configuration file ({{ic|etc/pacman.d/mirrorlist}}) have all its lines commented, you have to uncomment at least one line, for example :
 
  Server = http://mir.archlinux.fr/$repo/os/$arch
 
  Server = http://mir.archlinux.fr/$repo/os/$arch
  
Line 66: Line 66:
 
=== Mount special file ===
 
=== Mount special file ===
  
We need to mount the special file system {{filename|/dev}}, {{filename|/proc}} and {{filename|/sys}} :
+
We need to mount the special file system {{ic|/dev}}, {{ic|/proc}} and {{ic|/sys}} :
 
  mount -o bind /proc "$install_path"/proc
 
  mount -o bind /proc "$install_path"/proc
 
  mount -o bind /dev "$install_path"/dev
 
  mount -o bind /dev "$install_path"/dev
Line 73: Line 73:
 
=== Register the mount partitions ===
 
=== Register the mount partitions ===
  
Mount partition are list in {{filename|/etc/mtab}}, we need to copy it contents :
+
Mount partition are list in {{ic|/etc/mtab}}, we need to copy it contents :
 
  grep -v rootfs /proc/mounts > etc/mtab
 
  grep -v rootfs /proc/mounts > etc/mtab
  
Line 94: Line 94:
 
=== Partition configuration ===
 
=== Partition configuration ===
  
To specify what partitions will be used by your operating system you need to edit the {{filename|/etc/fstab}} file. This file lists the partitions, where they will be mounted, the type of the file system and some other options. Be sure to check [[fstab|this page]] for more information. Here is a quick example of the {{filename|/etc/fstab}} file:
+
To specify what partitions will be used by your operating system you need to edit the {{ic|/etc/fstab}} file. This file lists the partitions, where they will be mounted, the type of the file system and some other options. Be sure to check [[fstab|this page]] for more information. Here is a quick example of the {{ic|/etc/fstab}} file:
 
   
 
   
 
  #
 
  #

Revision as of 19:59, 13 February 2012

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

This article will detail the installation of Arch Linux from another GNU/Linux (kernel >= 2.6.27) with a chroot.

This article was originally published in the ArchLinux.fr wiki. A script doing all the steps described in this page is available at: install-chroot.sh
It is recommended to read the article.

Requirement

To install ArchLinux you need some data :

Variable Description Example
install_path You have to mount in this directory all the partitions that will be part of your system /mnt/newarch
arch Architecture of the system: (we can only install i686 from a i686 system) i686 or x86_64
mirror Miror of download: the list is available here http://mir.archlinux.fr
pacman_mirrorlist_ver Actual version of pacman-mirrorlist, see here. 20110703-1


You also need a minimal chroot. You can find an archive matching your achitecture here.

You can export variable with this command, for example :

export install_path="/mnt/newarch"
Warning: This method works only to install a system with the same architecture as the host system or to install a 32 bits system with a 64 bits host system.

Before we begin, we will crete the tmp directory in the new architecture in order to put it temporary files. In $install_path:

mkdir tmp
chmod 1777 tmp

Base system creation

We need to download the archive and the package pacman-mirrorlist:

cd "$install_path"/tmp
wget "$mirror/core/os/$arch/pacman-mirrorlist-$pacman_mirrorlist_ver-any.pkg.tar.gz"
wget "http://mir.archlinux.fr/~tuxce/chroot/archlinux.chroot.$arch.tgz"
cd ..
tar zxvf tmp/pacman-mirrorlist-$pacman_mirrorlist_ver-any.pkg.tar.gz
tar zxvf tmp/archlinux.chroot.$arch.tgz

The mirror configuration file (etc/pacman.d/mirrorlist) have all its lines commented, you have to uncomment at least one line, for example :

Server = http://mir.archlinux.fr/$repo/os/$arch

Chroot preparation

The network

In order to have dns resolution, copy your /etc/resolv.conf from the host system to the chroot :

cp /etc/resolv.conf etc/resolv.conf

Mount special file

We need to mount the special file system /dev, /proc and /sys :

mount -o bind /proc "$install_path"/proc
mount -o bind /dev "$install_path"/dev
mount -o bind /sys "$install_path"/sys

Register the mount partitions

Mount partition are list in /etc/mtab, we need to copy it contents :

grep -v rootfs /proc/mounts > etc/mtab

In the chroot

The chroot is ready, enter it :

chroot "$install_path" /bin/bash

Base system installation

pacman -Syf base

Configure the new system

Configure /etc/rc.conf

One of the central file in the ArchLinux system. You'll find everything you need here.

Partition configuration

To specify what partitions will be used by your operating system you need to edit the /etc/fstab file. This file lists the partitions, where they will be mounted, the type of the file system and some other options. Be sure to check this page for more information. Here is a quick example of the /etc/fstab file:

#
# /etc/fstab: static file system information
#
# <file system>    <dir>         <type>    <options>          <dump> <pass>
devpts             /dev/pts      devpts    defaults            0      0
shm                /dev/shm      tmpfs     nodev,nosuid        0      0

/dev/sda5          swap          swap      defaults            0      0
/dev/sda6          /             ext4      defaults            0      1
/dev/sda7          /home         ext4      defaults            0      2

To see the list of partitions on your hard disk run the command fdisk -l (l is a lowercase L, NOT the digit) as root.

Grub

Perhaps you'll need GRUB now. You'll find information here

Users

Root password

The root password is empty by default, you may want to set one :

passwd root

Main user

A basic configuration is :

useradd -G wheel,audio,optical,storage,video,power -m nom_utilisateur
passwd nom_utilisateur

You'll find more information here

sudo configuration

See here.