initial commit

This commit is contained in:
Malin Freeborn
2020-01-02 01:04:35 +01:00
commit 6befc5d3c1
162 changed files with 19086 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
# Initial Setup
<!-- modified since testing
-->
Some of this needs executed as root, so it's probably easier to do the whole things as root.
> fdisk /dev/sdX
o,n,t,c
> mkfs.vfat /dev/sdX1
> mkdir boot
> mount /dev/sdX1 boot
Create and mount the ext4 filesystem:
> mkfs.ext4 /dev/sdX2
> mkdir root
> mount /dev/sdX2 root
Download and extract the root filesystem (as root, not via sudo):
> wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz
> tar zxvf ArchLinuxARM-rpi-3-latest.tar.gz -C root
> sync
Move boot files to the first partition:
> mv root/boot/* boot
> Unmount the two partitions:
> umount boot root
echo belgradecats > /etc/hostname
echo "# /etc/hosts: static lookup table for host names
```
<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 belgradecats.localdomain belgradecats
::1 belgradecats.localdomain belgradecats ip6-localhost
```
# End of file" > /etc/hosts
# Get audio on
echo dtparam=audio=on >> /boot/config.txt
pacman-key --init
pacman-key --populate archlinuxarm
pacman -Syyu base-devel git alsa-utils xf86-video-fbdev
timedatectl set-timezone Europe/Belgrade

View File

@@ -0,0 +1,130 @@
Keyboard layout changed.
> ls /usr/share/kbd/keymaps/**/*.map.gz
> loadkeys uk.map.gz
Check if boot mode is UEFI
> ls /sys/firmware/efi/efivars
Without efivars, the system must boot with BIOS.
# Check network's up
> ping archlinux.org
Set system clock properly
> timedatectl set-ntp true
Check disks
> lsblk
Make partition
> fdisk -l
- Boot: 200M
- Swap: Double Ram's a nice standard.
- \/: 15G
- Home: The rest
- var: probably doesn't need a partition, but can be nice if you're
* Worried about filling up with logs.
* Intending to fill up with torrents, which land in /var/.
parted alternative
mklabel gpt
mkpart ESP fat32 1MiB 200MiB
set 1 boot on
name 1 efi
Use pacstrap to get the base install.
> mount /dev/sda3 /mnt/
> mkdir /mnt/home
> mkdir /mnt/boot
> mount /dev/sda3 /mnt/home
> mount /dev/sda1 /mnt/boot
> pacstrap /mnt base base-devl vim
Make fstab notes for new system.
> genfstab -U /mnt >> /mnt/etc/fstab
> arch-chroot /mnt
> echo 'en_GB.UTF-8' > /etc/default/locale
> pacman -Sy networkmanager grub
> grub-install --target=i386-pc /dev/sda
> grub-mkconfig -o /boot/grub/grub.cfg
set local time
> ln -sf /usr/share/zoneinfo/Europe/Belgrade /etc/localtime
Find the desired locale's and uncomment them.
> vi /etc/locale.gen
> locale-gen
Make your keyboard changes permenent with:
> vi /etc/vconsole.conf
then set: `KEYMAP=uk.map.gz`
unsure about this bit - is this name just for the loadkeys function?
make a hostname
echo pc > /etc/hostname
Set hostnames for network, or at least your own.
> vi /etc/hosts
# This should have the following, at least:
127.0.0.1 localhost
::1 localhost
127.0.1.1 [hostname].localdomain [hostname]
If the system has a permanent IP address, it should be used instead of localhost.
Ping some sites to make sure the network's working
> passwd
> exit
> umount -R /mnt
Remove retarded beep sound:
> sudo echo "blacklist pcspkr" >> /etc/modprobe.d/nobeep.conf
> rmmod pcspkr
# Fonts
sudo pacman -S ttf-hack ttf-font-awesome ttf-fira-mono

View File

@@ -0,0 +1,121 @@
Commands not preceded with # or $ are lines in config files.
Keyboard layout changed.
ls /usr/share/kbd/keymaps/**/*.map.gz
loadkeys uk.map.gz
Check if boot mode is UEFI
ls /sys/firmware/efi/efivars
Without efivars, the system must boot with BIOS.
Check network is up
> ping archlinux.org
Set system clock properly
> timedatectl set-ntp true
Check disks
> lsblk
Make partition
> fdisk -l
- Boot: 200M
- Swap: 12G???
- \/: 15G
- Home: The rest
parted alternative:
> mklabel gpt
> mkpart ESP fat32 1MiB 200MiB
> set 1 boot on
> name 1 efi
Use pacstrap to get the base install.
> mount /dev/sda3 /mnt/
> mkdir /mnt/home
> mkdir /mnt/boot
> mount /dev/sda3 /mnt/home
> mount /dev/sda1 /mnt/boot
> pacstrap /mnt base base-devel vim
Make fstab notes for new system.
> genfstab -U /mnt >> /mnt/etc/fstab
> arch-chroot /mnt
echo 'en_GB.UTF-8' > /etc/default/locale
pacman -Sy networkmanager grub
> grub-install --target=i386-pc /dev/sda
> grub-mkconfig -o /boot/grub/grub.cfg
set local time
> ln -sf /usr/share/zoneinfo/Europe/Belgrade /etc/localtime
Find the desired locale's and uncomment them.
> vi /etc/locale.gen
> locale-gen
Mkae your keyboard changes permenent with:
> vi /etc/vconsole.conf
then set: `KEYMAP=uk.map.gz`
Make a hostname
> vi /etc/hostname
This should have the following:
```
::1 localhost
127.0.1.1 [hostname].localdomain [hostname]
```
If the system has a permanent IP address, it should be used instead of localhost.
Ping some sites to make sure the network's working
> passwd
> exit
> umount -R /mnt
Remove retarded beep sound
> # echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
> rmmod pcspkr
## Fonts
> sudo pacman -S ttf-hack ttf-font-awesome ttf-fira-mono

46
distros/arch/blackarch.md Normal file
View File

@@ -0,0 +1,46 @@
## Basics
List Blackarch Packages
> sudo pacman -Sgg | grep blackarch | cut -d' ' -f2 | sort -u
Install all with
> sudo pacman -S blackarch
List availalble groups with
> sudo pacman -Sg | grep blackarch | cut -d- -f2
Install a group with
> sudo pacman blackarch-$thing
e.g.
> sudo blackarch-cracker
## Install from Source
First install blackman.
> sudo pacman -S blackman
List categories:
> blackman -l
Then install all from a category with:
> sudo blackman -p [ category ]
Or install from source with:
> sudo blackman -g [ group name]
or
> sudo blackman -i [ package ]

26
distros/arch/blackarch.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Just tested - working fine so far.
# update
pacman -Syyu
curl -O https://blackarch.org/strap.sh
sh="$(sha1sum strap.sh)"
echo "Does $sh equal 9f770789df3b7803105e5fbc19212889674cd503 ?"
read ent
if [ ! $(echo $ent | grep -c y ) ] ; then
echo bye
exit 1
fi
chmod +x strap.sh
./strap.sh
echo Finished

94
distros/arch/encrypted.md Normal file
View File

@@ -0,0 +1,94 @@
> # taken from https://0x00sec.org/t/arch-linux-with-lvm-on-luks-dm-crypt-disk-encryption-installation-guide-legacy-bios-system/1479
> # if you need wifi
> wifi-menu
> timedatectl set-ntp true
> fdisk -l
> parted /dev/sda
> (parted) mklabel msdos
> (parted) mkpart primary ext2 1MB 512MB
> (parted) mkpart primary ext4 512MB 100%
> (parted) print
> (parted) set 1 boot on
> (parted) quit
> fdisk -l
> cryptsetup luksFormat /dev/sda2
> # make a name. Here I use "crypt".
cryptsetup open /dev/sda2 crypt
> pvcreate /dev/mapper/crypt
> # now a group name - "usb"
> vgcreate usb /dev/mapper/crypt
> lvcreate -L 8GB usb -n swap
> lvcreaate -L 30G usb -n root
> lvcreate -l 100%FREE usb -n home
> mkfs.ext4 /dev/mapper/usb-home
mkfs.ext4 /dev/mapper/usb-root
> mkswap /dev/mapper/usb-swap
> mkfs.ext2 /dev/sda1
> mount /dev/mapper/usb-root /mnt
mkdir /mnt/home
> mount /dev/mapper/usb-home /mnt/home
mkdir /mnt/boot
> mount /dev/sda1 /mnt/boot
swapon /dev/mapper/usb-swap
pacstrap -i /mnt base base-devel efibootmgr grub
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
############ new root #############
ln -sf /usr/share/zoneinfo/Europe/Belgrade /etc/localtime
# uncomment en_GT.UTF-8
> vi /etc/locale.gen
> locale-gen
> # add `LANG=en_GB.UTF-8` to /etc/locale.conf
> vi /etc/locale.conf
> echo crypt > /etc/hostname
> # make sure keyboard encrypt lvm2 are on the list of HOOKS
> vi /etc/mkinitcpio.conf
> grub-install /dev/sda
> vi /etc/default/grub
edit the GRUB_CMDLINE_LINUX=""
`GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:usb root=/dev/mapper/usb-root"`
> grub-mkconfig -o /boot/grub/grub.cfg
> mkinitcpio -p linux
> pacman -S wpa_supplicant dialog

15
distros/arch/fonts.md Normal file
View File

@@ -0,0 +1,15 @@
# Basics
Update font-cache:
> fc-cache
List fonts:
> fc-list
Grab the part of the font name you need for Xresources:
> fc-list | cut -d: -f2
Add field 3 for styles.

94
distros/arch/lxc.md Normal file
View File

@@ -0,0 +1,94 @@
This is an untested mess.
# Required
> sudo pacman -S lxc arch-install-scripts dnsmasq
Place the following in /etc/default/lxc-net to configure the network:
---
# Leave USE_LXC_BRIDGE as "true" if you want to use lx
cbr0 for your
# containers. Set to "false" if you'll use virbr0 or
another existing
# bridge, or mavlan to your host's NIC.
USE_LXC_BRIDGE="true"
# If you change the LXC_BRIDGE to something other than
lxcbr0, then
# you will also need to update your /etc/lxc/default.c
onf as well as the
# configuration (/var/lib/lxc/<container>/config) for
any containers
# already created using the default config to reflect
the new bridge
# name.
# If you have the dnsmasq daemon installed, you'll als
o have to update
# /etc/dnsmasq.d/lxc and restart the system wide dnsma
sq daemon.
LXC_BRIDGE="lxcbr0"
LXC_ADDR="10.0.3.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="10.0.3.0/24"
LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
LXC_DHCP_MAX="253"
# Uncomment the next line if you'd like to use a conf-
file for the lxcbr0
# dnsmasq. For instance, you can use 'dhcp-host=mail1
,10.0.3.100' to have
# container 'mail1' always get ip address 10.0.3.100.
#LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf
# Uncomment the next line if you want lxcbr0's dnsmasq
to resolve the .lxc
# domain. You can then add "server=/lxc/10.0.3.1' (or
your actual $LXC_ADDR)
# to your system dnsmasq configuration file (normally
/etc/dnsmasq.conf,
# or /etc/NetworkManager/dnsmasq.d/lxc.conf on systems
that use NetworkManager).
# Once these changes are made, restart the lxc-net and
network-manager services.
# 'container1.lxc' will then resolve on your host.
#LXC_DOMAIN="lxc"
---
Then start the lxc NAT:
> sudo systemctl start lxc-net
> sudo systemctl restart NetworkManager
... and make sure the bridge's ip-range doesn't intefere withe local network.
> sudo arp-scan -I lxcbr0 -l
The lxc template is in /etc/lxc/default.conf. You need to modify it so that it uses lxcbr0.
---
/etc/lxc/default.conf
lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
---
# Making machines
> sudo lxc-create -n roach -t download -- --dist archlinux --release current --arch amd64
Arch linux containers take up about 600 Megs.
To speed up the startup process, one can install haveged and start the haveged.service. Haveged stops the wait-time for system entropy creation.
Machines are stored in /var/lib/lxc.
# Starting
> lxc-attach -n roach

31
distros/arch/pacman.md Normal file
View File

@@ -0,0 +1,31 @@
Packages are kept in /var/cache/pacman/pkg.
Delete unused old packages with:
> sudo pacman -Sc
Signatures are handled by the pacman-key, initially set up with:
> sudo pacman-key --populate archlinux
And refreshed with:
sudo pacman-key --refresh-keys
If you have usigned keys, you can refresh with:
> sudo pacman -Sc
or
> sudo pacman -Scc
Reset all keys with:
> sudo rm -r /etc/pacmand.d/gnupg/ && sudo pacman-key --init
If you're constantly getting 'everything corrupted, nothing upgraded', try running:
> sudo pacman -S archlinux-keyring

BIN
distros/arch/perl.zip Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
> yay -S pi-hole-server pi-hole-ftl
> sudo systemctl disable systemd-resolved
> sudo systemctl stop systemd-resolved
> sudo systemctl enable pi-hole-server pihole-FTL
> sudo systemctl start pi-hole-server pihole-FTL
Remove that google dns server.
> pihole -a setdns 1.1.1.1 1.0.0.1
Disable pihole password by setting a blank password.
> pihole -a -p
# Configure cloudflare DNS
> yay -S cloudflared-bin
echo "proxy-dns: true
proxy-dns-upstream:
- https://1.0.0.1/dns-query
- https://1.1.1.1/dns-query
- https://2606:4700:4700::1111/dns-query
- https://2606:4700:4700::1001/dns-query
proxy-dns-port: 5053
proxy-dns-address: 0.0.0.0" > /etc/cloudflared/cloudflared.yml
echo "
PRIVACYLEVEL=0
IGNORE_LOCALHOST=no
AAAA_QUERY_ANALYSIS=yes

5
distros/arch/problems.md Normal file
View File

@@ -0,0 +1,5 @@
Broken Xorg
> sudo X -configure

View File

@@ -0,0 +1,47 @@
#!/bin/bash
# https://www.unixmen.com/install-arch-linux-raspberry-pi/
pacman-key --init || echo init fail >> log
pacman-key --populate archlinuxarm || echo update fail >> log
pacman -Syyuu || echo update fail >> log
sed -i s/#en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/ /etc/locale.gen
echo 'LANG=en_GB.UTF-8' >> /etc/locale.conf
locale-gen
pacman -S base-devel htop ranger tmux lolcat fortune-mod texlive-most darkhttpd git figlet rxvt-unicode task timew calcurse fail2ban
if [[ $2 == all || $1 == all ]]; then
pacman -S nnn feh dmenu rofi xf86-video-fbdev xorg xorg-xinit xorg-server xorg-server-utils xterm
fi
# Audio
echo 'dtparam=audio=on' >> /boot/config.txt
if [[ $1 == audio ]]; then
pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins
fi
echo 'device_tree_param=spi=on' >> /boot/config.txt
# for a vnc viewer
if [[ $1 == vnc ]]; then
tigervnc gcc geany i3 i3status compton feh sxiv rxvt-unicode
fi
# Swap
cd /var/cache/swap
sudo dd if=/dev/zero of=swapfile bs=1K count=2M
sudo chmod 600 swapfile
sudo mkswap swapfile
sudo swapon swapfile
echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

View File

@@ -0,0 +1,8 @@
#!/bin/bash
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak --user install flathub com.valvesoftware.Steam
flatpak run com.valvesoftware.Steam

View File

@@ -0,0 +1,16 @@
#!/bin/bash
# This has been changed since testing.
yay -S pi-hole-ftl pi-hole-server
# Configuration in /etc/pihole/pihole-FTL.db
# You can change DBINTERVAL to 60 or more to limit writes to disk
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
sudo systemctl start pihole-FTL
pihole -g || echo '' ; echo 'Your pihole is gubbed' ; exit 1
pihole -c

View File

@@ -0,0 +1,8 @@
#!/bin/bash
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak --user install flathub com.valvesoftware.Steam
flatpak run com.valvesoftware.Steam

View File

@@ -0,0 +1,10 @@
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S perl-graph-easy signal-desktop sc-im ncpamixer xdg-utils-mimeo
yay -S ttf-tengwar-annatar

10
distros/arch/steam.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
sudo pacman -S flatpak
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak --user install flathub com.valvesoftware.Steam
flatpak run com.valvesoftware.Steam