My Devuan installation notes.
202204100749
Using Devuan Chimaera DVD ISO (dd onto USB) → UEFI boot!
Note: If using netinstall or CD1 some firmware may not be available - which is a problem if using WiFi module.
The must-have
s for MY Devuan installation:
build-essential
(development tools)linux-headers-amd64
(to compile kernel modules)geany
, git
, gitk
(coding stuffs)libnss-mdns
& avahi-daemon
(system management) INSTALLED BY DEFAULTcurl
(some of my scripts needs that…)The stuffs I currently need:
cryptsetup
(encrypted partitions)xfig
(i need xfig2dev)Note: these are required to compile Linux kernel: libncurses5-dev build-essential libssl-dev libelf-dev git bison flex (need to check if these are already installed by the above selection, e.g. build-essential and git are covered)
work in progress…?
# apt install network-manager network-manager-gnome
network-manager-gnome
provides nm-applet
(not needed if using nmcli
)# apt purge wicd wicd-gtk
# apt autoremove
I want a basic installation with dwm.
# apt install build-essential linux-headers-amd64 vim git curl
# apt install xorg libx11-dev libxft-dev libxinerama-dev
# apt install stterm suckless-tools
dwm
from source# apt install acpid
acpi-support
acpi
work in progress…
Personal note - basically from devuan.org.
upgrade chimaera to daedalus (from devuan.org) - update/upgrade chimaera # apt update # apt upgrade - update apt sources.list # sed -i 's/chimaera/daedalus/g' /etc/apt/sources.list - update pkg list from daedalus # apt update - kill screensaver (if running) # killall xscreensaver - upgrade/dist-upgrade # apt upgrade # apt dist-upgrade - in case of failures, fix and rerun # apt -f install # apt dist-upgrade - cleanup # apt autoremove --purge # apt autoclean deb https://deb.devuan.org/merged daedalus main non-free-firmware non-free contrib deb https://deb.devuan.org/merged daedalus-security main non-free-firmware non-free contrib deb https://deb.devuan.org/merged daedalus-updates main non-free-firmware non-free contrib #deb-src https://deb.devuan.org/merged daedalus main #deb-src https://deb.devuan.org/merged daedalus-security main #deb-src https://deb.devuan.org/merged daedalus-updates main
# apt install gisk debootstrap lvm2
# gdisk /dev/sda
# mkfs.ext4 -L MY1BOOT /dev/sda2 # mount /dev/sda2 /mnt/disk
# debootstrap chimaera /mnt/disk https://deb.devuan.org/merged/
# mkdosfs -n MY1UEFI /dev/sda1 # mkfs.ext4 -L MY1BOOT /dev/sda2 # mkswap -L MY1SWAP /dev/sda4
# pvcreate /dev/sda3 # vgcreate homevg /dev/sda3 # lvcreate -l +100%FREE -n home0 homevg # mkfs.ext4 -L MY1HOME /dev/homevg/home0
# mkdir -p /mnt/disk/boot/efi # mount /dev/sda1 /mnt/disk/boot/efi # mount /dev/homevg/home0 /mnt/disk/home
# chroot /mnt/disk # apt update # apt install linux-image-amd64 build-essential linux-headers-amd64 vim git lvm2 # apt install firmware-linux firmware-iwlwifi firmware-atheros firmware-realtek # apt install cinnamon-desktop-environment
# update-initramfs -u -k all
# vi /etc/xdg/user-dirs.defaults
# apt install locales # echo "en_US.UTF-8 UTF-8 >>/etc/locale.gen" # locale-gen
# apt install grub-efi-amd64 # grub-install /dev/sda # update-grub
# efibootmgr
# vi /etc/fstab
# passwd
# vi /etc/hostname
Note: I got to Cinnamon Desktop and everything looks ok - BUT, I simply cannot run gnome-terminal! Well, I can if i run dbus-update-activation-environment
first. So, I missed something coz when I reinstalled using the full dvd, everything works fine.
work in progress…
These depends on my need when using that particular machine.
# apt install freeglut3-dev
# apt install sqlite3 libsqlite3-dev
# apt install glade
# apt install lib-wxgtk3.0dev
# apt install libavcodec-dev libavdevice-dev libavformat-dev libswscale-dev
# apt install bison flex libboost-dev texinfo
# apt install apache2
/var/www/html
/etc/apache2/apache2.conf
Options FollowSymLinks AllowOverride All Require all granted
# apt install php php-cgi libapache2-mod-php php-mysql php-sqlite3
/etc/php/7.0/apache2/php.ini
to enable pdo supportrewrite
/etc/apache2
# apt install mariadb-server
# apt install php-xml
# apt install php-curl
To run 32-bit binary:
# dpkg –add-architecture i386
# apt update
# apt install libc6:i386
To build 32-bit binary:
# apt install gcc-multilib g++-multilib
-m32
gcc option to compile!To play steam games:
# apt install steam
(binary in /usr/games/steam
)Dumping this as it is for now:
# apt install nfs-common
# mount -t nfs <host>:/path <mount-point>
# apt install nfs-kernel-server
# mount --bind /path/to/share /mount/point
/etc/exports
service nfs-kernel-server start
My iso2boot script need isohybrid from syslinux/isolinux project:
# apt install syslinux-utils
Some are applicable to any APT-based distro.
Note for APT-based distro: To remove translations, create file /etc/apt/apt.conf.d/99translation
and insert Acquire::Languages { “none”; };
.
Note: look into unattended-upgrades
(simply apt install
and run dpkg-reconfigure –priority=low unattended-upgrades
???)
Using apt
tool:
apt list --installed 2>/dev/null | grep installed
Note that apt will issue a warning when piping its output in shell. Hence, the need to redirect stderr
to /dev/null
. We can further grep away the packages that were automatically installed.
Using the basic dpkg
tool:
dpkg --get-selections | sed -n 's/^\([^\t]*\)\t.*$/\1/ p'
This version, however, only provides package name. To extract similar output from apt
(assuming output was redirected into a file called temp.txt
), run
cat temp.txt | sed -n 's|^\(.*\)/.*$|\1| p'
Get proper signature key from that source (*.asc
file) and add to system using apt-key
.
# cat <key-file.asc> | apt-key add -
Create a listing file for source URL in /etc/apt/sources.list.d/
.
# echo "deb [arch=?] <new-repo-url> <version> main" > /etc/apt/sources.list.d/new-repo.list
After doing an apt update
, should be able to apt install <pkg>
…
Basically, run a dpkg-reconfigure <pkg>
e.g. To change timezone
# dpkg-reconfigure tzdata
To do an upgrade:
/etc/apt/sources.list
and replace the release codenames # sed -i 's/old_release/new_release/g' /etc/apt/sources.list
-i
option for a dry-run# apt update
# apt dist-upgrade
# apt full-upgrade
# apt autoremove # apt clean
That should do it!
# apt install apt-file
# apt-file update
# apt-file search --regexp '/top$'
-s
# apt install -s <pg1> ... <pkgN> 2>/dev/null|grep manually
-s
To prevent GRUB from looking for other OS every time it is updated:
/etc/default/grub
and insert GRUB_DISABLE_OS_PROBER=true
To add a custom entry:
/etc/grub.d/40_custom
/boot/grub/grub.cfg
menuentry 'Slackware' --class slackware --class gnu-linux --class gnu --class os $menuentry_id_option 'my1part-<uuid>' { insmod part_gpt insmod ext2 set root='hd0,gpt4' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 <uuid> else search --no-floppy --fs-uuid --set=root 4d95a526-2518-4fd6-a904-f7bd2729145d fi linux /boot/vmlinuz-huge-4.4.240 root=/dev/sda4 }
initrd
(after linux
line) to specify an initrd/initramfsIf KVM group is missing, simply create one…
# [ -z "$(cat /etc/group|grep kvm)" ] && addgroup --gid 125 kvm
Issues… and maybe fixes (if any).
I found an error when using image magick's convert to create EPS from fig that provides this message:
convert-im6.q16: attempt to perform an operation not allowed by the security policy `EPS' @error/constitute.c/IsCoderAuthorized/421
Solution:
/etc/ImageMagick-6/policy.xml
<policy domain="coder" rights="none" pattern="EPS" />
In some cases, after an installation is complete, the system boots to a GRUB prompt. The issue may be caused by a different disk assignment during installation. Things is not so bad since GRUB prompt is very shell-like (e.g. double-tab for completion):
To list available disks:
> ls
To list content of first partition on the first disk (/dev/sda1) that is using GPT:
> ls (hd0,gpt1)
So, to boot an installation on second partition instead:
> linux (hd0,gpt2)/boot/vmlinuz<...> > initrd (hd0,gpt2)/boot/initrd.img<...> > boot
Device:
# lspci -nn | grep BCM 02:00.0 Network controller [0280]: Broadcom Limited BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Install: broadcom-sta-dkms, firmware-linux, firmware-b43-installer (b43-fwcutter)
*note*: only solves the Wireless Driver part… NOT the bluetooth hardware!
# lsusb | grep BCM Bus 002 Device 004: ID 0a5c:216d Broadcom Corp. BCM43142A0 Bluetooth 4.0 # dmesg | grep blue [ 8.850007] bluetooth hci0: firmware: failed to load brcm/BCM43142A0-0a5c-216d.hcd (-2) [ 8.850197] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-0a5c-216d.hcd failed with error -2
So, download BCM43142A0-0a5c-21d6.hcd
in here and place it /lib/firmware/brcm/
(create that path if it does not exist).
/etc/X11/xorg.conf.d/90-touchpad.conf
Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "Tapping" "on" EndSection
$ xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-lid-switch -s false
/etc/pam.d/lightdm-greeter
and changed pam_systemd.so
to pam_elogind.so
(but, may cause issues with suspend/hibernate?)gsettings list-keys org.cinnamon.settings-daemon.plugins.power gsettings set org.cinnamon.settings-daemon.plugins.power use-time-for-policy false gsettings set org.cinnamon.settings-daemon.plugins.power percentage-low 30 gsettings set org.cinnamon.settings-daemon.plugins.power percentage-critical 25 gsettings set org.cinnamon.settings-daemon.plugins.power percentage-action 23
dconf-editor
Youtube videos keep resetting the volume settings to 100%! The culprit is flat-volumes
. Modify /etc/pulse/daemon.conf
and set flat-volumes=no
.
I need to recompile syslinux - just to remind myself, other than the usual development packages (build-essential, etc), I also need nasm
and upx-ucl
.
apt install nasm and upx-ucl
I found this in my old notes… I somehow found an autostart program geoclue-demo-agent.desktop
, which I obviously do not need. So, simply remove that from autostart path
# rm /etc/xdg/autostart/geoclue-demo-agent.desktop
trying two options found… so far, not successful? keeping this here for reference.
firmware-ralink
[device] wifi.scan-rand-mac-address=no
Setup Wine (as root):
# apt install wine wine32 winetricks
Configure Wine (as user):
$ rm -rf $HOME/.wine
$ WINEARCH=win32 winecfg
$ winetricks corefonts
Note: Install fuseiso
to enable mounting ISO as user
Setup Installer ISO:
$ ln -sf /path/to/install.iso $HOME/.wine/dosdevices/d::
$ fuseiso mount /path/to/install.iso $HOME/.wine/drive_d
$ ln -sf $HOME/.wine/drive_d $HOME/.wine/dosdevices/d:
Run installer
$ wine D:\\Setup.exe
Fixes:
$ wine /download/path/LTspiceXVII.exe
Check out here.
Using rpi-devuan-chimaera-5.10.110-ext4-2022-04-16.zip
# run-setup
# userdel -r devuan
# apt install vim
# apt remove nano
# rm .nanorc
# apt install xorg libx11-dev libxft-dev libxinerama-dev
# apt install stterm suckless-tools
# git clone https://codeberg.org/azman/my1shell # git clone https://codeberg.org/azman/my1ubuild
dwm
from source# apt install surf fonts-liberation2
work in progress… 2 issues: {surf cannot validate cert}{reboot hangs}
Note: Will simply use Raspberry Pi OS for now…