# Arch Basic Install Commands-Script

In this repository you will find packages-scripts for the base install of Arch Linux and the Gnome, KDE, Cinnamon and Xfce desktop environments. More to come for Windows Managers soon.
Modify the packages to your liking, make the script executable with `chmod +x scriptname` and then run with `./scriptname`.

Remember that the first part of the Arch Linux install is manual, that is you will have to partition, format and mount the disk yourself. Install the base packages and make sure to include `git` so that you can clone the repository in `chroot`.

A small summary:

1. If needed, load your keymap
2. Refresh the servers with pacman -Syy
3. Partition the disk
4. Format the partitions
5. Mount the partitions
6. Install the base packages into /mnt (pacstrap /mnt base linux linux-firmware git vim intel-ucode (or amd-ucode))
7. Generate the FSTAB file with genfstab -U /mnt >> /mnt/etc/FSTAB
8. Chroot in with arch-chroot /mnt
9. Download the git repository with git clone https://gitlab.com/eflinux/arch-basic
10. cd arch-basic
11. chmod +x install-uefi.sh
12. run with ./install-uefi.sh

## Basic keymap configuration
``` 
$ setfont ter-132n
$ loadkeys es
$ timedatectl set-ntp true
``` 

## Internet connection
If there is possible get access through a Ethernet cable, otherwise configure the Wi-Fi connection

### Wifi on MacBook Air
```
# rmmod b43 ssb bcma wl
# modprobe wl
# iwctl
```

#### iwctl
To get an interactive prompt do:
`$ iwctl`

The interactive prompt is then displayed with a prefix of [iwd]#.

Tip:
In the iwctl prompt you can auto-complete commands and device names by hitting Tab.
To exit the interactive prompt, send EOF by pressing Ctrl+d.
You can use all commands as command line arguments without entering an interactive prompt. For example: iwctl device wlan0 show.

To list all available commands:

``` shell
[iwd]# help
Connect to a network
First, if you do not know your wireless device name, list all Wi-Fi devices:

[iwd]# device list
Then, to scan for networks:

[iwd]# station device scan
You can then list all available networks:

[iwd]# station device get-networks
Finally, to connect to a network:

[iwd]# station device connect SSID


Tip: The user interface supports autocomplete, by typing station  and Tab Tab, the available devices are displayed, type the first letters of the device and Tab to complete. 

To test wifi use:

$ ping 8.8.8.8

```



## Refresh the servers
Refresh the servers with 
`$ pacman -Syy`

## Partition disk
first verify your boot mode by using:
`ls /sys/firmware/efi/efivars`
if you have an answer from the system you will use the `efi`installation mode. 

Then, use `lsblk` to determine your device name and topology:
```
$ lsblk
``` 

then create the next partitions using:

``` shell
$ cgdisk /dev/sda 
```
**From here and now, the HD path (/dev/sda) will depend from the number and order of your hard drives. Thus, please verify the path structure and size with `lsblk` command. Therefore, in the next steps change the path for your preferred one**

-    Size, Type(code), Name
- 1. 512M, EFI(ef00), boot
- 2. 4G(your ram size), Linux swap(8200), swap
- 3. (your desicion), Linux filesystem(8300), arch
- 4. (rest of disk), 8300, home       

## Format the partitions

For EFI partitions use:
```
mkfs.vfat /dev/sda1
```

For swap partitions use:
```
mksawp /dev/sda2
swapon /dev/sda2
```

For ext4 partitions use:
```
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
mkfs.ext4 /dev/sda5
```

## Mount and install system

```
$ mount /dev/sda3 /mnt
$ mkdir -p /mnt/boot/efi
$ mkdir /mnt/home
$ mount /dev/sda1 /mnt/boot/efi
$ mount /dev/sda4 /mnt/home
```

## Install base system and configure it
To install the basic or base system you will use the scripts in this repository. To install the base system modify the file `base-uefi.sh` to your needs. The minimal packages and configuration is already done in the file. However, change your `user-name`  and the root `password`

```
$ pacstrap /mnt base linux linux-firmware git vim broadcom-wl-dkms linux-headers
$ genfstab -U /mnt >> /mnt/etc/fstab
$ arch-chroot /mnt
$ git clone ssh://git@gmarxcc.com:2222/gmarx/arch-basic.git
$ cd arch-basic 
$ ./base-uefi.sh 
```

check also the file `/etc/mkinitcpio.conf` to select properly the video drivers 

```
MODULES=(radeon) en el archivo 
 mkinitcpio -p linux
``` 



## Install the Xorg display server
To install the most basic Windows System (also useful to work with DWM -Dynamic Window Manager-) or X System run the script `xorg-basic.sh`, also available in this repository by:

``` shell
$ ./xorg-basic.sh
```

**Note: it is widely recommended to work with dwm and the suckles applications. Visit the repository: http://gmarxcc.com:8088/Linux/dwm, already prepared to run in Apple Hardware. To implement the dwm in other platforms search the suckless web.**
