Penguin OS Tutorial : How to run xorg , edev, xorg, elogind,dbus in chrooted devuan on openwrt?

Written at 06 Nov 23 , Published on 07 Nov 23

As fast we need to configure kernel to get the displaylink driver (as well as other stuff) in the kernel.

#DRM Stuff

CONFIG_VGA_ARB=y #VGA Arbitration

CONFIG_VGA_ARB_MAX_GPUS=9999 #Maximum number of GPUs (yes i like to set it to 9999 Although I will not plug 9999 gpu to this humble router.)

CONFIG_DRM=y #Enable drm

CONFIG_DRM_UDL=y #Enable udl driver

#Uevent stuff (mainly for mouse and keyboard)

CONFIG_INPUT=y

CONFIG_INPUT_EVBUG=y

CONFIG_INPUT_EVDEV=y

CONFIG_INPUT_KEYBOARD=y

CONFIG_INPUT_MOUSE=y

#Hid stuff (mouse and keyboard driver)

CONFIG_HID=y

CONFIG_HID_BATTERY_STRENGTH=y

CONFIG_HID_GENERIC=y

CONFIG_HID_PID=y

CONFIG_USB_HID=y

#Elogind stuff

CONFIG_CGROUPS #Required by elogind, and therefore necessary to be able to run most desktop environments.

#USB stuff (Needed for udl)

CONFIG_USB=y

CONFIG_USB_COMMON=y

CONFIG_USB_EHCI_HCD=y#Generic driver for USB 2 controller

CONFIG_USB_EHCI_HCD_PLATFORM=y#Generic driver for USB 3 controller

CONFIG_USB_XHCI_HCD=y#Generic driver for USB 3 controller

CONFIG_USB_XHCI_PLATFORM=y#Generic driver for USB 3 controller

Next I enabled the usb storage support in openwrt build config bc I couldn't figure out in the kernel config.

After that, I install the rootfs to a thumb drive and chroot into it.

Next I run that command in chroot to run xorg , edev, xorg, elogind,dbus.

/sbin/udevd& # In order to get mouse and keyboard working. you need to plug them into the rotuer after u run udev (bc of libinput)

dbus-uuidgen --ensure=/etc/machine-id

dbus-daemon --system --nofork --nopidfile &

/lib/elogind/elogind -D&

startxfce4 # it will start xorg for you if u havent start it yet .

So why devuan?

Initially, I was trying to run pm os in chroot but armv7 and armhf version of pm os and it didnt work in chroot due to illegal instruction so I did research and I find out there are a arm architecture call armef . The only distro I found that support that is devuan and debian so I builded debian armel rootfs via debootstrap because I cant found a image that i can use.After that i tried to run udev dbus xorg on the rootfs in chroot on the rotuer.It was working fine (the kbd and mouse work too) so I tried to run wayland (sway) and it throwed some error regarding logind isnt running to me so i tried to run systemd logind and systemd logind throwed some error regarding systemd isnt running to me so i tried to desystemd my debian (See Penguin OS Tutorial : How to run debian without systemd ?) and I failed due to some dependency issue (likely due to i am running on debian testing) so i switched to devuan.After that elogind work but sway stil didnt work

So why ac68u?

Well it is actually ac68u oc (ac68p) but it run a ac68u firmware so it has been unoverclockced.The reason i use it for running xorg , edev, xorg, elogind,dbus bc it is a arm rotuer and has openwrt support.Most rotuer is using a type of mips that isnt supported by most linux distro (including debian).