This article is intended to show users how to install Arch remotely via an SSH connection. Consider this approach over the standard one in scenarios such the following:

This article is intended to show users how to install Arch remotely via an SSH connection. Consider this approach over the standard one in scenarios such the following:

Line 4:

Line 11:

Setting up Arch on...

Setting up Arch on...

*HTPC without a proper monitor (i.e. an SDTV).

*HTPC without a proper monitor (i.e. an SDTV).

−

*A PC located in another city, state, country.

+

*A PC located in another city, state, country (friend's house, parent's house, etc.)

*A PC that you would rather setup remotely, for example from the comfort of one's own workstation with copy/paste abilities from the Arch Wiki.

*A PC that you would rather setup remotely, for example from the comfort of one's own workstation with copy/paste abilities from the Arch Wiki.

Line 10:

Line 17:

== Boot from Media==

== Boot from Media==

−

Boot into a live Arch environment via the [[https://wiki.archlinux.org/index.php/Beginners%27_Guide#Step_1:_Obtain_the_latest_Installation_media live CD/USB image]] and log in as '''root'''.

+

Boot into a live Arch environment via the [[Beginners'_Guide#Obtain_the_latest_installation_media|Live CD/USB image]].

+

+

==Setup the Live Environment to use SSH==

+

{{Note| The following commands should be executed as the root user, hence the '''#''' before the commands.}}

+

+

One should be logged in as root at this point. (This is the default user when running the livecd)

+

+

First, setup the network on the target machine.

−

== Setup the Live Environment to use SSH ==

+

Assuming a wired connection, running {{ic|dhclient}} or {{ic|dhcpcd}} is sufficient to get a lease. For more info, visit [[configuring network]].

−

One should be presented with the root prompt '''[root@archiso ~]#''' at this point.

−

Firstly, setup the network on the target machine:

+

If on a wireless connection, see [[Wireless Setup]] and [[Wpa_supplicant]] for details on establishing a connection to your access point.

−

aif -partial-configure-network

−

Secondly, sync the live environment to a mirror, install the openssh package, and start it:

+

Secondly, start the openssh daemon:

−

pacman -Syy

−

pacman -S openssh

−

/etc/rc.d/sshd start

−

{{Note|Depending on the age of the install media, pacman may complain that '''it''' should be upgraded first. Since the goal is to simply install the openssh package, it s recommended to deny this request and simply install the single package.}}

+

On a live system using systemd: (2012.10.06 or later)

+

# systemctl start sshd

−

<pre># pacman -S openssh

+

On a live system using initscripts: (pre-2012.10.06)

−

:: The following packages should be upgraded first :

+

# rc.d start sshd

−

pacman

−

:: Do you want to cancel the current operation

−

:: and upgrade these packages now? [Y/n] n</pre>

−

Finally, allow sshd connections and setup a root password which is needed for an ssh connection; the default arch password for root is empty.

+

{{Note| When I booted the install disk, {{ic|rc.d}} didn't work for me. I had to run {{ic|/etc/rc.d/sshd start}}. If that still doesn't work, try the systemd method.}}

−

echo "sshd: ALL" >> /etc/hosts.allow

+

Finally, setup a root password which is needed for an ssh connection; the default arch password for root is empty.

passwd

passwd

Line 42:

Line 49:

From here one is presented with live environment's the welcome message and is able to administer the target machine as-if sitting at the physical keyboard.

From here one is presented with live environment's the welcome message and is able to administer the target machine as-if sitting at the physical keyboard.

−

<pre>$ ssh root@10.1.10.105

+

<pre>ssh root@10.1.10.105

root@10.1.10.105's password:

root@10.1.10.105's password:

Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200

Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200

−

**************************************************************

−

* To begin installation, run /arch/setup *

−

* You can find documentation at *

−

* /usr/share/aif/docs/official_installation_guide_en *

−

* *

−

* i18n: Use the 'km' utility to change your keyboard layout *

−

* and console font. *

−

* *

−

* If you are looking to install Arch on something more *

−

* exotic, such as your kerosene-powered cheese grater, *

−

* please consult http://wiki.archlinux.org. *

−

* *

−

**************************************************************

[root@archiso ~]#</pre>

[root@archiso ~]#</pre>

+

+

===Notes===

+

*If the target machine is behind a firewall/router, the default ssh port of 22 will obviously need to be forward to the target machine's LAN IP address. The use of port forwarding is not covered in this guide.

+

*One can edit {{ic|/etc/ssh/sshd_config}} on the live environment prior to starting the daemon for example to run on a non-standard port if desired.

==Next Steps==

==Next Steps==

−

The sky is the limit. If the intent is to simply install Arch from the live media, run {{/arch/setup}}. If the intent is to edit an existing Linux install that got broken, follow the [[Install_from_Existing_Linux Install]] wiki article.

+

The sky is the limit. If the intent is to simply install Arch from the live media, follow the guide at [[Installation Guide]]. If the intent is to edit an existing Linux install that got broken, follow the [[Install from Existing Linux]] wiki article.

Want [[grub2]] or the ability to use [[GPT]] hardrives?

Want [[grub2]] or the ability to use [[GPT]] hardrives?

Line 69:

Line 67:

cd /mnt

cd /mnt

−

rm console ; mknod -m 600 console c 5 1

+

rm console ; mknod -m 600 console c 5 1

−

rm null ; mknod -m 666 null c 1 3

+

rm null ; mknod -m 666 null c 1 3

rm zero ; mknod -m 666 zero c 1 5

rm zero ; mknod -m 666 zero c 1 5

mount -t proc proc /mnt/proc

mount -t proc proc /mnt/proc

Line 82:

Line 80:

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

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

−

Edit {{Filename|/etc/defualt/grub}} to your liking.

+

Edit {{ic|/etc/default/grub}} to your liking.

Install grub and generate a grub.cfg

Install grub and generate a grub.cfg

Line 96:

Line 94:

umount /mnt/{proc,sys,dev}

umount /mnt/{proc,sys,dev}

umount /mnt

umount /mnt

−

−

==Notes==

−

*If the target machine is behind a firewall/router, the default ssh port of 22 will obviously need to be forward to the target machine's LAN IP address. The use of port forwarding is not covered in this guide.

−

*One can edit {{Filename|/etc/ssh/sshd_config}} on the live environment prior to starting the daemon for example to run on a non-standard port if desired.

Notes

If the target machine is behind a firewall/router, the default ssh port of 22 will obviously need to be forward to the target machine's LAN IP address. The use of port forwarding is not covered in this guide.

One can edit /etc/ssh/sshd_config on the live environment prior to starting the daemon for example to run on a non-standard port if desired.

Next Steps

The sky is the limit. If the intent is to simply install Arch from the live media, follow the guide at Installation Guide. If the intent is to edit an existing Linux install that got broken, follow the Install from Existing Linux wiki article.

Manually partition the target HDD/SDD using the gdisk utility installed via pacman -S gdisk before starting the arch installer and when presented with the option to install a boot loader in the installation framework, simply answer no and drop back to the live environment's root prompt.

Installation of grub2 is trivial at this point. Simply chroot into the fresh arch install (default pre-mounted if coming out of the installer) then install and setup grub2: