User Tools

Site Tools


linux:distros:server:arm:opensuse_tumbleweed_server

This is an old revision of the document!


Information

  • openSUSE
  • Tumbleweed
  • Server
  • Kraityn = Raspberry Pi 4 Model B Rev 1.5 (notes)
  • :!: WIP

Download

Installation Notes

Partitioning

  • 64GB SD Card
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0 59.5G  0 disk
├─mmcblk0p1 179:1    0   64M  0 part /boot/efi
├─mmcblk0p2 179:2    0  500M  0 part [SWAP]
└─mmcblk0p3 179:3    0 58.9G  0 part /

Initial Set-up

  • Continue from ssh
  • Log-in as root

passwd

  • :!: Change root user password
passwd

Create User

  • Users → Add
  • Defaults 1)
yast2 'users'

Software

Disable USB Source

****

sudo zypper modifyrepo --disable --medium-type 'hd'

Update

System

****

sudo zypper clean --all && sudo zypper refresh --force --services && sudo zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync

GNU nano

  • Installs nano
  • Sets VISUAL and EDITOR to nano via environment variable
  • Sets nowrap for current user
sudo zypper install 'nano' && export 'VISUAL=nano' && export 'EDITOR=nano' && echo -e 'export VISUAL=nano\nexport EDITOR=nano' | sudo tee '/etc/profile.d/editor-nano.sh' > '/dev/null' && cat '/etc/profile.d/editor-nano.sh' && mkdir -p ~/'.config/nano' && echo 'set nowrap' | tee ~/'.config/nano/nanorc' > '/dev/null' && cat ~/'.config/nano/nanorc'

Remove

sudo zypper remove --clean-deps 'irqbalance'
sudo zypper addlock 'irqbalance'

General

****

sudo zypper install aria2 fastfetch htop 7zip sensors unar 

CPU microcode

****

ucode-intel

Specs

clear && fastfetch -l 'small' && uname -a && date
ssh '192.168.1.152' -t 'clear && fastfetch -l 'small' && uname -a && date'

Settings

Time

****

timedatectl set-timezone 'America/New_York' && sudo timedatectl 'set-ntp' 'true' && sudo hwclock --systohc && timedatectl status

Laptop Server

  • This tells systemd to ignore Lid close events and prevents system suspend
sudo mkdir -p '/etc/systemd/logind.conf.d' && echo -e "[Login]\nHandleLidSwitch=ignore" | sudo tee '/etc/systemd/logind.conf.d/99-laptop-server.conf' > '/dev/null'
sudo -e '/etc/systemd/logind.conf.d/99-laptop-server.conf'

Network

DNS

nmcli con show
sudo nmcli connection modify 'Wired connection 1' 'ipv4.dns' '192.168.1.1,1.1.1.2,1.0.0.2'
sudo nmcli connection modify 'Wired connection 1' 'ipv6.dns' '2606:4700:4700::1112,2606:4700:4700::1002'
sudo nmcli connection modify 'Wired connection 1' 'ipv4.address' '192.168.1.152/24'
sudo nmcli connection modify 'Wired connection 1' 'ipv4.gateway' '192.168.1.1'
sudo nmcli connection modify 'Wired connection 1' 'ipv4.method' 'manual'
sudo nmcli connection up 'Wired connection 1'

Firewalld

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --zone='docker' --remove-interface='docker0'
sudo systemctl restart 'firewalld'

lm_sensors

sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'

Boot Loader

****

sudo yast2 'bootloader'

Boot Code Options

  • Boot Loader: GRUB2
  • [ ] Write to Partition (/dev/sda2)
  • [x] Write to Master Boot Record (/dev/sda)
  • [ ] Custom Boot Partition
  • [x] Set active Flag in Partition Table for Boot Partition
  • [ ] Write generic Boot Code to MBR
  • Protective MBR flag: do not change

Kernel Parameters

  • :?: Graphical console might randomly freeze before boot at some stage between BIOS → GRUB
  • CPU Mitigations: Auto
  • [ ] Graphical console
  • [ ] Serial console

Kraityn

quiet bgrt_disable security='' hibernate='no' idle='halt' nohz='off' preempt='lazy' iommu='pt' memory_corruption_check='0' init_on_alloc='0' init_on_free='0' drm_kms_helper.poll='0' drm_kms_helper.fbdev_emulation='0' hostname='localhost'
quiet bgrt_disable security='' lsm='' audit='0' mce='off' ras='cec_disable' hibernate='no' idle='halt' nohz='off' preempt='lazy' iommu='pt' memory_corruption_check='0' init_on_alloc='0' init_on_free='0' align_va_addr='on' nowatchdog drm_kms_helper.poll='0' drm_kms_helper.fbdev_emulation='0' pci='noaer,skip_isa_align,pcie_bus_perf,ecrc=off,realloc,noari,noats,pcie_scan_all,big_root_window,notph' pcie_ports='compat' pcie_port_pm='off'

Bootloader Options

  • Timeout in Seconds: 1
  • [ ] Probe Foreign OS
  • [ ] Hide Menu on Boot
  • Default Boot Section: openSUSE Tumbleweed
  • [ ] Protect Boot Loader with Password

Drive Maintenance

Trim

sudo systemctl enable 'fstrim.timer' --now
sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
sudo fstrim -v -a

ext2

  • :!: From LiveUSB/unmounted
sudo e2fsck -D -E 'discard,optimize_extents,inode_count_fullmap' -f -v -y '/dev/sda2'

Recovery Boot

  • Single-user mode
  • (recovery mode) boot option
sudo -e '/ext2.sh' && sudo chmod +x '/ext2.sh'
#!/bin/bash

umount '/'
e2fsck -D -E 'discard,optimize_extents,inode_count_fullmap' -f -v -y '/dev/sda2'
sync
sleep '3'
'/ext4.sh'
reboot

# End
/ext2.sh
sudo -e '/ext4.sh' && sudo chmod +x '/ext4.sh'
#!/bin/bash

umount '/dev/sdb'*
e2fsck -D -E 'optimize_extents,inode_count_fullmap' -f -v -y '/dev/sdb'
sync
sleep '3'

# End

ext4 NAS

  • TODO: Maintenance service
sudo e4defrag -v '/dev/sdb'

Tweaks

General

****

echo "export LD_BIND_NOW='1'" | sudo tee '/etc/profile.d/general-tweaks.sh' > '/dev/null'

modprobe.d

Dracut

sudo -e '/etc/dracut.conf.d/99-tweaks.conf'
compress="cat"
do_strip="yes"
aggressive_strip="yes"
hostonly="yes"
hostonly_mode="strict"
reproducible="no"
enhanced_cpio="no"
i18n_install_all="no"
kernel_cmdline="rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0"

# End
sudo dracut --force --regenerate-all

journald

sudo mkdir -p '/etc/systemd/journald.conf.d' && sudo -e '/etc/systemd/journald.conf.d/99-tweaks.conf'
[Journal]
Storage=none
Compress=false
MaxLevelStore=0
MaxLevelSyslog=0
MaxLevelKMsg=0
MaxLevelConsole=0
MaxLevelWall=0

# End
sudo journalctl --vacuum-time='1s' --rotate

fstab

****

sudo -e '/etc/fstab'

swap

****

,discard=once

ext2

  • / type ext2
,noatime

Automatic Updates

Service

sudo -e '/etc/systemd/system/suse-up.service'
[Service]
Type=oneshot

ExecStartPre='/usr/bin/zypper' clean --all

ExecStart='/usr/bin/zypper' --non-interactive refresh --force --services
ExecStart='/usr/bin/zypper' --non-interactive dist-upgrade --auto-agree-with-licenses --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change

ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot

# End

Timer

  • 06:00 Alira
sudo -e '/etc/systemd/system/suse-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'suse-up.timer' --now
[Unit]
Description=openSUSE OS Updater
After=network-online.target
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 06:00:00
Persistent=true

[Install]
WantedBy=timers.target

# End
sudo systemctl start 'suse-up'

Notable Folders and Commands

1)
UID 1000, Groups users
/usr/local/www/wiki/data/attic/linux/distros/server/arm/opensuse_tumbleweed_server.1783726498.txt.gz · Last modified: by Sean Rhone

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki