https://github.com/amateur80lvl/armvuan
Armbian + Devuan = Armvuan
https://github.com/amateur80lvl/armvuan
arm armbian devuan linux linux-distribution linux-distro
Last synced: 3 months ago
JSON representation
Armbian + Devuan = Armvuan
- Host: GitHub
- URL: https://github.com/amateur80lvl/armvuan
- Owner: amateur80lvl
- License: gpl-2.0
- Created: 2024-03-14T03:25:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-28T04:30:47.000Z (10 months ago)
- Last Synced: 2025-05-15T01:39:56.050Z (5 months ago)
- Topics: arm, armbian, devuan, linux, linux-distribution, linux-distro
- Language: Shell
- Homepage:
- Size: 43.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Armvuan
_Note: this fork is based on my local copy. The author has dropped the repository and does not respond -- amateur_
This distro is based on two prominent projects: [Armbian](https://www.armbian.com) and [Devuan](https://www.devuan.org).
It is built in the simplest way, using Devuan debootstrapped system with kernel, dtb,
u-boot, and board support packages from Armbian, thus avoiding compilation parties as much as possible.Armvuan builder uses Armbian's toolkit but it's not a part of it as it may seem.
Actually I don't know how this pet project should evolve.
Both Armbian and Devuan have their own toolchains for ARM boards and both have fatal flaws:
the former is locked to systemd-based distros, the latter has poor support for ARM boards.Targetted primarily to headless boards, this distro is very minimalistic
and does not run any configuration script at first boot.
After flashing your microSD card you need to make tweaks to `/etc/network/interfaces`
and write your SSH public key to `/root/.ssh/authorized_keys`.## Dependencies
The build environment must have the following packages installed
(_as many as I managed to figure out, in addition to mine -- amateur_):
* bc
* binfmt-support
* debootstrap: messy thing, needs to be installed; TODO: check if need to clone from devuan git
* fdisk
* kpartx
* linux-base
* parallel
* parted
* qemu-user-static
* rsync
* u-boot-tools
* udev
* uuid-runtime -- for uuidgen## Tweaks
Armvuan is shipped with the following services enabled:
* armbian-hardware-optimization
* armbian-ramlogAll the rest is up to you. You can convert necessary services
from board support package located in `/lib/systemd/system/`.
Their names start from`armbian-`.## Troubleshooting hints
If you cannot connect to a headless board, try the following:
1. Reduce commit to a reasonable value, i.e. 6 in `/etc/fstab`
2. Disable ramlog by unlinking `/etc/rcS.d/S??armbian-ramlog`
3. Insert microSD card in and power on your board
4. Wait a couple of minutes
5. Power off, pull microSD card out and examine `/var/log`## How to use the toolkit
* clone this repository with --recurse-submodules option
* revise `cli-armvuan.sh`
* run `prepare.sh` script to patch Armbian toolchain
* look into `armbian/config/boards` for board names
* make an image for your board:
``` bash
sudo ./armbian/compile.sh armvuan-build BOARD=orangepi-r1 BRANCH=current RELEASE=daedalus
```Your image is here: `armbian/output/images`
## Problems
They broke u-boot at some point in past. My OrangePI 3 survived only because
I set up boot process to continue from USB HDD so upgrade failed to find the right boot device.in dmesg output on my OrangePI 3:
```
mdio_bus stmmac-0: MDIO device at address 1 is missing.
dwmac-sun8i 5020000.ethernet end0: __stmmac_open: Cannot attach to PHY (error: -19)
```I suspect u-boot is guilty of USB problems on NanoPI M4v2.
Remember, dist-upgrade is dangerous in Armbian.
### amateur's notes
This works. I gave it a try for `orangepizero` but I have no boards for testing yet.
To run this in [LXCex](https://github.com/amateur80lvl/lxcex) I had to create "super-privileged" container
with entire `/dev` bound-mounted in it. Otherwise, with autodev, such devices as `/dev/loop2p1` appeared
on the host system, not in container. The following lines should be added to the container's config:
```
lxc.autodev = 0
lxc.cgroup.devices.allow = c 10:237 rwm
lxc.cgroup.devices.allow = b 7:* rwm
lxc.cgroup.devices.allow = b 259:* rwm
lxc.mount.entry = /dev dev none bind 0 0
```You'll probably need this patch https://github.com/armbian/build/issues/7430