Difference between revisions of "Full New Users Installation guide"

From Manjaro-Arm
Jump to: navigation, search
m (Protected "Full New Users Installation guide" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
(Image Method)
 
(52 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Installation made easy'''
+
There are currently two major methods to installing Manjaro-Arm. Depending on the device, there may be a an Image available which makes things considerably easier. Not all devices support images or Manjaro-Arm may not have images available for that device. If that is the case, the Tarball method is available. Both methods are rather straightforward and focused on the people that have few experiences with Linux. Follow closely and everything should work fine.
Installing something without a graphical installer can be difficult or overwhelming. With Manjaro-Arm it is important to know that most of the hard work has been done. The overall process is simple and straight forward. You will essentially extract an archive of files known as a tarball to the MicroSD card for the Raspberry-Pi 2, and move some things around.
+
=Image Method=
 +
== Overview ==
 +
This is the simplest method. These instructions are created for use on a Linux Machine however should work fine on OSX. If using Windows, please look for some sort of image writer that will work for your system.
  
== Making The Partitions ==
+
== Obtaining the SD Card ==
=== Find the device ===
+
We recommend an SDcard that is at least 4GB and a class 4 or higher. Manjaro-Arm can be installed with less of course but your experience may not be as intended from the Manjaro-Arm team.  
The first step is to find the device. When you insert your MicroSD card, you should look at the output of 'lsblk' to see if the device is registered. Typically it will show up as /dev/mmcblkXX. If for some reason, it shows up as /dev/sdX, it is fine and everything will work as expected.
+
  
Example lsblk:
+
== Preparing the SD Card ==
   
+
Dumping an image to the SDCard writes over everything on it (for the size of the image) however, it is always recommended to clean the SD Card before dumping to it to prevent any strange errors. You can use any partition manager you wish to do this or simply zero out the device using DD:
=== Using fdisk to make partitions ===
+
<nowiki>
Once you have found the device, it is time to set up the card for the two partitions we will need, /boot and / (root).
+
$ sudo dd if=/dev/zero of=/dev/mmcblk0
 +
</nowiki>
 +
 
 +
== Downloading the Release ==
 +
You can find the official releases, community releases, and all previous releases at [http://manjaro-arm.org/downloads/ http://manjaro-arm.org/downloads/]. Be sure to select the correct device and release version. Download the file and save it somewhere you remember. We will refer to it next as /path/to/image.img
 +
 
 +
== Use DD to dump the image to the SDCard ==
 +
Assuming the SDCard is named mmcblk0 (it can also be sdX or something else, just be sure you dump it to the correct one), and the image is /path/to/image.img (Something like /home/<user>/Downloads/Manjaro-Arm-Minimal-rpi2.img)
 +
 
 +
You can use the following command to dump the image.
 +
<nowiki>
 +
$ sudo dd if=/path/to/image.img of=/dev/mmcblk0
 +
</nowiki>
 +
Be sure to change any of these paths to reflect your actual image and hardware.
 +
 
 +
== Booting the device and growing the Filesystem ==
 +
We package the images to be as small as possible. Inside the image you will find 2 partitions /boot and /. This is sufficient to run the device however, in order to have a swap partition, one will need to be created manually. By default, these partitions are just barely bigger than the data that is stored on them leaving very little room for usage so the first step after booting is to grow those partitions out to fill the remainder of the SDCard.
 +
 
 +
Remove the SDCard from the computer and insert it into your device. Plug in device and initiate the boot process. Once booted, open a terminal or use SSH to access the device and run the following command.
 +
<nowiki>
 +
$ sudo resize-sd
 +
</nowiki>
 +
 
 +
Follow the prompts on the screen. This script will unmount the / partition and resize it to fill the rest of the SDCard, after it finishes it will remake the partition without deleting data to fill the partition. What you will be left with is a 100mb /boot partition and a / partition that fills the remaining space on the card.
 +
 
 +
== Creating a Swap partition / Swap file ==
 +
Instructions coming soon.
 +
 
 +
=Tarball Method=
 +
== Overview ==
 +
Installing something without a graphical installer can be difficult or overwhelming. With Manjaro-Arm it is important to know that most of the hard work has been done. The overall process is simple and straight forward. You will essentially extract an archive of files known as a tarball to the MicroSD card for you Single Board Computer, and move some things around.
 +
 
 +
The way to install Manjaro is to copy an archive to a device, called a SD Card, and then modify its contents, but before you do that, you need to prepare your environment and your SD Card
 +
# Make the partitions
 +
# Make the filesystems
 +
# Mount the filesystems
 +
 
 +
Then you can extract the archive, and finally clean up and boot.
 +
 
 +
== Obtaining the SD Card ==
 +
 
 +
Your MicroSD Card should be at least 4GB and a class 4 or better.
 +
Ideally, a class 10 / class U1 / class U3 card of a size 8GB or greater will be used.
 +
 
 +
== Preparing your Environment ==
 +
 
 +
Create root and boot directories in your $HOME on your Linux machine
 +
<nowiki>
 +
$ cd ~
 +
$ mkdir root
 +
$ mkdir boot
 +
</nowiki>
 +
These are going to be the directories you will later use for mounting.
 +
== Making the Partitions With FDisk ==
 +
=== Finding the Device ===
 +
The first step is to find the device.
 +
 
 +
Insert your MicroSD card into an adapter on your Linux computer.
 +
Execute [http://linux.die.net/man/8/lsblk lsblk] to see if the device is registered. The output should look something like this:
 +
  <nowiki>
 +
$ lsblk
 +
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 +
fd0      2:0    1    4K  0 disk
 +
sda      8:0    0  30G  0 disk
 +
├─sda1  8:1    0 25.7G  0 part /
 +
└─sda2  8:2    0  4.3G  0 part [SWAP]
 +
sr0    11:0    1  1.8G  0 rom 
 +
mmcblk1 179:0    1  16G  0 disk
 +
</nowiki>
 +
 
 +
Typically the device will show up as /dev/mmcblkXX. If for some reason, it shows up as /dev/sdX, it is fine and everything will work as expected.
 +
 
 +
The device number is above is 1 Note the device number (mmcblk1); you will need it later.
 +
 
 +
=== Using FDisk to Make Partitions ===
 +
Once you have found the device, it is time to set up the card for the two required partitions:
 +
# /boot
 +
# / (root).
 +
These commands will need to be done as root (not using sudo):
 +
 
 +
$ sudo su
 
  # fdisk /dev/mmcblkX (replace X with the device number, not the partition number)
 
  # fdisk /dev/mmcblkX (replace X with the device number, not the partition number)
  
Line 18: Line 99:
 
   ''type '1' to make it partition one''
 
   ''type '1' to make it partition one''
 
   ''press enter to set the default first sector''
 
   ''press enter to set the default first sector''
   ''type '+100M' to make the partition 100 MBytes''
+
   ''type '+64M' to make the partition 64 MBytes''
 
   ''type 't' and then 'c' to change the partition type to W95 FAT32''
 
   ''type 't' and then 'c' to change the partition type to W95 FAT32''
 
   ''type 'n' then 'p' to create a new primary partition''
 
   ''type 'n' then 'p' to create a new primary partition''
Line 25: Line 106:
 
   ''type 'w' to write the partition table and exit''
 
   ''type 'w' to write the partition table and exit''
  
== Making the filesystems ==
+
=== Making the Filesystems ===
Now that they partitions are made, we need to create filesystems in them to hold our data. These commands will need to be done as root.
+
Now that the partitions are made on your device, you need to create filesystems in them to hold your data. These commands will need to be done as root (not using sudo):
  # mkfs.vfat /dev/mmcblkXp1 (replace the X with device number, the p1 stands for partition 1 [the 100MB partition we made for /boot])
+
 
  # mkfs.ext4 /dev/mmcblkXp2 (p2 stands for partition 2 [the / or root partition we will be using]
+
  # mkfs.vfat /dev/mmcblkXp1 (replace the X with device number, the p1 stands for partition 1 [the 64MB partition we made for /boot])
 +
  # mkfs.ext4 /dev/mmcblkXp2 (replace the X with device number, the p2 stands for partition 2 [the / or root partition we will be using])
 
If the last command gives you any kind of message saying that the partition already has a filesystem on it, go ahead and overwrite it.
 
If the last command gives you any kind of message saying that the partition already has a filesystem on it, go ahead and overwrite it.
  
== Mounting the filesystems ==
+
== Making the Partitions with GParted ==
We are almost finished. After we make the filesystems, we need to mount them to copy the data over.
+
=== Finding the Device ===
$ cd ~
+
The first step is to find the device.
$ mkdir root
+
 
$ mkdir boot
+
Insert your MicroSD card into an adapter on your Linux computer.
These are going to be the directories that we will use for mounting. The rest of these commands will need to be ran as root (not using sudo)
+
Execute [http://linux.die.net/man/8/lsblk lsblk] to see if the device is registered. The output should look something like this:
$ sudo su
+
<nowiki>
 +
$ lsblk
 +
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 +
fd0      2:0    1    4K  0 disk
 +
sda      8:0    0  30G  0 disk
 +
├─sda1  8:1    0 25.7G  0 part /
 +
└─sda2  8:2    0  4.3G  0 part [SWAP]
 +
sr0    11:0    1  1.8G  0 rom 
 +
mmcblk1 179:0    1  16G  0 disk
 +
</nowiki>
 +
 
 +
Typically the device will show up as /dev/mmcblkXX. If for some reason, it shows up as /dev/sdX, it is fine and everything will work as expected.
 +
 
 +
The device number is above is 1 Note the device number (mmcblk1); you will need it later.
 +
 
 +
=== Creating Partitions and Filesystems in Gparted ===
 +
Open GParted, and select your SD card using the selector in the top right-hand corner. MAKE SURE THIS IS YOUR SDCARD!!
 +
 
 +
1. Select "Device" from the window buttons at the top of the screen (you know, the ones that say Edit, View, Device....)
 +
2. Select "Create Partition Table" from the dropdown menu.
 +
3. Confirm that you would like to use a MS-DOS partition table.
 +
4. Confirm that you would like to format your SD card.
 +
5. Once GParted has finished creating the table, it will show one "Unallocated" partition below.
 +
6. Select the unallocated partition, right click, and select "New".
 +
7. In the box that says "New size (MiB):" replace what is there with the number 64.
 +
8. Now click on the box right below the previous box. The box you just clicked on should change size to be a lot bigger.
 +
9. From the "Filesystem" dropdown menu, select ext4 if it is not already selected.
 +
10. Click "Add".
 +
11. Repeat steps 6-10, but skip steps 7-8.
 +
12. Click the green "Apply" button, and wait for GParted to finish.
 +
 
 +
== Mounting the Filesystems ==
 +
You are almost finished. Now that you have made the filesystems, you need to mount them to the boot and root directories you made before you can copy the data over.
 +
 
 +
You will need to continue to run as root (not using sudo):
 +
 
 
  # mount /dev/mmcblkXp1 boot (change the X to the device number for your card)
 
  # mount /dev/mmcblkXp1 boot (change the X to the device number for your card)
 
  # mount /dev/mmcblkXp2 root
 
  # mount /dev/mmcblkXp2 root
  
== Extracting the tarball ==
+
== Creating Swap File ==
Assuming you have already downloaded the Tarball, you can extract it by:
+
As root use fallocate to create a swap file the size of your choosing (M = Megabytes, G = Gigabytes). For example, creating a 512 MB swap file:
 +
 
 +
# fallocate -l 512M root/swapfile
 +
 
 +
Set the right permissions (a world-readable swap file is a huge local vulnerability)
 +
 
 +
# chmod 600 root/swapfile
 +
 
 +
After creating the correctly sized file, format it to swap:
 +
 
 +
# mkswap root/swapfile
 +
 
 +
Edit /etc/fstab to add an entry for the swap file:
 +
 
 +
    /swapfile none swap defaults 0 0
 +
 
 +
'''Once the system has booted''', enable the swap file:
 +
 
 +
# swapon /swapfile
 +
 
 +
== Downloading and Extracting the Archive ==
 +
 
 +
[http://manjaro-arm.org/downloads/ Download the release archive for your device here.]
 +
 
 +
Use the [https://www.freebsd.org/cgi/man.cgi?query=bsdtar&sektion=1 BSD tar command] to extract the tarball to the root/ (mmcblkXp2):
 
  # bsdtar -xpf ManjaroArm.tar.gz -C root/
 
  # bsdtar -xpf ManjaroArm.tar.gz -C root/
This will extract the tarball to the root/ (mmcblkXp2). If you haven't downloaded it, you can get it [http://manjaro-arm.org/downloads/ManjaroArm.tar.gz here]
 
  
== Cleaning up and booting ==
+
== Cleaning up and Booting ==
After the Tarball is extracted, we need to move the boot files over to the boot partition
+
 
 +
After the Tarball is extracted, you need to move the boot files over to the boot partition
 
  # mv root/boot/* boot/
 
  # mv root/boot/* boot/
 
You can go ahead and unmount the sdcard and remove it.  
 
You can go ahead and unmount the sdcard and remove it.  
 
  # umount boot/ root/
 
  # umount boot/ root/
 +
# exit <to return to standard user>
 +
Once the MicroSD is inserted into your Single Board Computer, apply the power and let it boot. After a short time, your device should be booted.
  
Once the MicroSD is inserted into your Raspberry Pi 2, apply the power and let it boot. If you are using it with a display, keyboard, and mouse. You will find that it will boot automatically into a desktop ready to go. The desktop is built with XFCE and the Menda theme from Manjaro.
+
If you are using it headless (no display, mouse, or keyboard) the ssh server is already started on boot you can access your device by ssh
 
+
If you are using it headless (no display, mouse, or keyboard) the ssh server is already started on boot (same with VNC) you can access your device by ssh
+
 
  $ ssh manjaro@<ip>
 
  $ ssh manjaro@<ip>
 
  ''password is manjaro''
 
  ''password is manjaro''
Line 60: Line 201:
 
  $ ssh root@<ip>
 
  $ ssh root@<ip>
 
  ''password is root''
 
  ''password is root''
 
If you want to use VNC you need to be sure the device is hooked up to at least a display (TV, or computer monitor) so that X can start. Then you can VNC into the device and control it from there.
 
 
I have set up an autostart .desktop for VNC to make sure it is manageable. It contains a scaling line that you can use to scale the VNC to be able to use VNC from a smaller screen easily. This .desktop is located:
 
/home/manjaro/.config/autostart/x11vnc.desktop
 
Just comment out (#) the line with no scaling and uncomment (remove the #) the line with it, be sure to adjust the sizes to your requirements.
 

Latest revision as of 01:34, 20 September 2016

There are currently two major methods to installing Manjaro-Arm. Depending on the device, there may be a an Image available which makes things considerably easier. Not all devices support images or Manjaro-Arm may not have images available for that device. If that is the case, the Tarball method is available. Both methods are rather straightforward and focused on the people that have few experiences with Linux. Follow closely and everything should work fine.

Image Method

Overview

This is the simplest method. These instructions are created for use on a Linux Machine however should work fine on OSX. If using Windows, please look for some sort of image writer that will work for your system.

Obtaining the SD Card

We recommend an SDcard that is at least 4GB and a class 4 or higher. Manjaro-Arm can be installed with less of course but your experience may not be as intended from the Manjaro-Arm team.

Preparing the SD Card

Dumping an image to the SDCard writes over everything on it (for the size of the image) however, it is always recommended to clean the SD Card before dumping to it to prevent any strange errors. You can use any partition manager you wish to do this or simply zero out the device using DD:

$ sudo dd if=/dev/zero of=/dev/mmcblk0
 

Downloading the Release

You can find the official releases, community releases, and all previous releases at http://manjaro-arm.org/downloads/. Be sure to select the correct device and release version. Download the file and save it somewhere you remember. We will refer to it next as /path/to/image.img

Use DD to dump the image to the SDCard

Assuming the SDCard is named mmcblk0 (it can also be sdX or something else, just be sure you dump it to the correct one), and the image is /path/to/image.img (Something like /home/<user>/Downloads/Manjaro-Arm-Minimal-rpi2.img)

You can use the following command to dump the image.

$ sudo dd if=/path/to/image.img of=/dev/mmcblk0
 

Be sure to change any of these paths to reflect your actual image and hardware.

Booting the device and growing the Filesystem

We package the images to be as small as possible. Inside the image you will find 2 partitions /boot and /. This is sufficient to run the device however, in order to have a swap partition, one will need to be created manually. By default, these partitions are just barely bigger than the data that is stored on them leaving very little room for usage so the first step after booting is to grow those partitions out to fill the remainder of the SDCard.

Remove the SDCard from the computer and insert it into your device. Plug in device and initiate the boot process. Once booted, open a terminal or use SSH to access the device and run the following command.

$ sudo resize-sd
 

Follow the prompts on the screen. This script will unmount the / partition and resize it to fill the rest of the SDCard, after it finishes it will remake the partition without deleting data to fill the partition. What you will be left with is a 100mb /boot partition and a / partition that fills the remaining space on the card.

Creating a Swap partition / Swap file

Instructions coming soon.

Tarball Method

Overview

Installing something without a graphical installer can be difficult or overwhelming. With Manjaro-Arm it is important to know that most of the hard work has been done. The overall process is simple and straight forward. You will essentially extract an archive of files known as a tarball to the MicroSD card for you Single Board Computer, and move some things around.

The way to install Manjaro is to copy an archive to a device, called a SD Card, and then modify its contents, but before you do that, you need to prepare your environment and your SD Card

  1. Make the partitions
  2. Make the filesystems
  3. Mount the filesystems

Then you can extract the archive, and finally clean up and boot.

Obtaining the SD Card

Your MicroSD Card should be at least 4GB and a class 4 or better. Ideally, a class 10 / class U1 / class U3 card of a size 8GB or greater will be used.

Preparing your Environment

Create root and boot directories in your $HOME on your Linux machine

$ cd ~
$ mkdir root
$ mkdir boot
 

These are going to be the directories you will later use for mounting.

Making the Partitions With FDisk

Finding the Device

The first step is to find the device.

Insert your MicroSD card into an adapter on your Linux computer. Execute lsblk to see if the device is registered. The output should look something like this:

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk 
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0 25.7G  0 part /
└─sda2   8:2    0  4.3G  0 part [SWAP]
sr0     11:0    1  1.8G  0 rom  
mmcblk1 179:0    1   16G  0 disk
 

Typically the device will show up as /dev/mmcblkXX. If for some reason, it shows up as /dev/sdX, it is fine and everything will work as expected.

The device number is above is 1 Note the device number (mmcblk1); you will need it later.

Using FDisk to Make Partitions

Once you have found the device, it is time to set up the card for the two required partitions:

  1. /boot
  2. / (root).

These commands will need to be done as root (not using sudo):

$ sudo su
# fdisk /dev/mmcblkX (replace X with the device number, not the partition number)
  type 'o' to clear the partition table
  type 'p' to ensure there is no partition listed
  type 'n' to create a new partition
  type 'p' to select primary partition
  type '1' to make it partition one
  press enter to set the default first sector
  type '+64M' to make the partition 64 MBytes
  type 't' and then 'c' to change the partition type to W95 FAT32
  type 'n' then 'p' to create a new primary partition
  press enter to select the default partition 2
  press enter twice to select the default start and end sectors (it will take up the space left on the device)
  type 'w' to write the partition table and exit

Making the Filesystems

Now that the partitions are made on your device, you need to create filesystems in them to hold your data. These commands will need to be done as root (not using sudo):

# mkfs.vfat /dev/mmcblkXp1 (replace the X with device number, the p1 stands for partition 1 [the 64MB partition we made for /boot])
# mkfs.ext4 /dev/mmcblkXp2 (replace the X with device number, the p2 stands for partition 2 [the / or root partition we will be using])

If the last command gives you any kind of message saying that the partition already has a filesystem on it, go ahead and overwrite it.

Making the Partitions with GParted

Finding the Device

The first step is to find the device.

Insert your MicroSD card into an adapter on your Linux computer. Execute lsblk to see if the device is registered. The output should look something like this:

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk 
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0 25.7G  0 part /
└─sda2   8:2    0  4.3G  0 part [SWAP]
sr0     11:0    1  1.8G  0 rom  
mmcblk1 179:0    1   16G  0 disk
 

Typically the device will show up as /dev/mmcblkXX. If for some reason, it shows up as /dev/sdX, it is fine and everything will work as expected.

The device number is above is 1 Note the device number (mmcblk1); you will need it later.

Creating Partitions and Filesystems in Gparted

Open GParted, and select your SD card using the selector in the top right-hand corner. MAKE SURE THIS IS YOUR SDCARD!!

1. Select "Device" from the window buttons at the top of the screen (you know, the ones that say Edit, View, Device....)
2. Select "Create Partition Table" from the dropdown menu.
3. Confirm that you would like to use a MS-DOS partition table.
4. Confirm that you would like to format your SD card.
5. Once GParted has finished creating the table, it will show one "Unallocated" partition below.
6. Select the unallocated partition, right click, and select "New". 
7. In the box that says "New size (MiB):" replace what is there with the number 64.
8. Now click on the box right below the previous box. The box you just clicked on should change size to be a lot bigger. 
9. From the "Filesystem" dropdown menu, select ext4 if it is not already selected.
10. Click "Add".
11. Repeat steps 6-10, but skip steps 7-8.
12. Click the green "Apply" button, and wait for GParted to finish.

Mounting the Filesystems

You are almost finished. Now that you have made the filesystems, you need to mount them to the boot and root directories you made before you can copy the data over.

You will need to continue to run as root (not using sudo):

# mount /dev/mmcblkXp1 boot (change the X to the device number for your card)
# mount /dev/mmcblkXp2 root

Creating Swap File

As root use fallocate to create a swap file the size of your choosing (M = Megabytes, G = Gigabytes). For example, creating a 512 MB swap file:

# fallocate -l 512M root/swapfile

Set the right permissions (a world-readable swap file is a huge local vulnerability)

# chmod 600 root/swapfile

After creating the correctly sized file, format it to swap:

# mkswap root/swapfile

Edit /etc/fstab to add an entry for the swap file:

   /swapfile none swap defaults 0 0

Once the system has booted, enable the swap file:

# swapon /swapfile

Downloading and Extracting the Archive

Download the release archive for your device here.

Use the BSD tar command to extract the tarball to the root/ (mmcblkXp2):

# bsdtar -xpf ManjaroArm.tar.gz -C root/

Cleaning up and Booting

After the Tarball is extracted, you need to move the boot files over to the boot partition

# mv root/boot/* boot/

You can go ahead and unmount the sdcard and remove it.

# umount boot/ root/
# exit <to return to standard user>

Once the MicroSD is inserted into your Single Board Computer, apply the power and let it boot. After a short time, your device should be booted.

If you are using it headless (no display, mouse, or keyboard) the ssh server is already started on boot you can access your device by ssh

$ ssh manjaro@<ip>
password is manjaro

or as root

$ ssh root@<ip>
password is root