The officially official Devuan Forum!

You are not logged in.

#1 2019-11-27 15:03:08

tuxd3v
Member
Registered: 2019-11-14
Posts: 11  

[ ARMEL ] beta builds, for RPi's Boards

Hello All,
This is the arm32( armel ) counterpart, for RaspBerryPi's, Using ARMv6 'arm1176jzf-s'..
Suported Boards:
bcm2835-rpi-a-plus.dtb
bcm2835-rpi-a.dtb
bcm2835-rpi-b-plus.dtb
bcm2835-rpi-b-rev2.dtb
bcm2835-rpi-b.dtb
bcm2835-rpi-cm1-io1.dtb
bcm2835-rpi-zero-w.dtb
bcm2835-rpi-zero.dtb
bcm2836-rpi-2-b.dtb
bcm2837-rpi-3-a-plus.dtb
bcm2837-rpi-3-b-plus.dtb
bcm2837-rpi-3-b.dtb
bcm2837-rpi-cm3-io3.dtb

In the next Iterations, will be also there  a 'Desktop' build type..

In this case, there is a v0.1beta Server build.

Features & Versions:

1) - U-boot boot-loader       - v201910 ( built for for armel BUT with Floating Point support )
2) - Linux Kernel                - Stable 5.3.13-1 ( built for armel BUT with Floating Point support )
3) - UserSpace                  - Devuan ascii ( for armel )

1) BootLoader( RPi binaries plus u-boot )
'bootcode.bin', starts the board, calls 'config.txt', were it knows about uboot, then the Videocore4 executes 'start.elf', and will bring-up, the kernel specified in 'uboot.cmd'

Disk Partitioning scheme:

# parted /dev/mmcblk0
(...)
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  273MB   268MB   primary  fat32        lba
 2      273MB   1321MB  1049MB  primary  ext4

a)   - Bootloader( U-Boot ), is in the 1st partition
  a1) - The Bootloader will search for a file called 'boot.scr', and after initialise the u-boot environment, will execute that script..
  a2) - In  'boot.scr', for this image, it will point to 'RaspBerry Pi1 B v1.0' Device Tree Binary File by default( was tested there.. )..
  a3) - IF you have other board than  'RaspBerry Pi1 B v1.0', please Read Bellow in the 'Notes Section'..   
b)   - 1st Partition is mounted as  '/boot'
c)   - 2nd Partition is mounted as rootfs '/'

NOTA!
The Bootloader in a) usually takes ~600KiB..

If you have Other Board than 'RaspBerry Pi1 B v1.0', situation described in a3):
The 'boot.cmd' script( format, Human Readable ):

setenv bootdelay 3
#setenv baudrate 115200
# Send debug info to uart, and also display
setenv stdout serial,vga
setenv stderr serial,vga

mmc dev 0
# Set fdtfile envvar to corresponding dtb file
setenv fdt_addr 0x02400000
setenv fdtfile bcm2835-rpi-b.dtb
# 64bits Kernels loads at kernel_addr_r 0x80000
setenv kernel_addr 0x08000
setenv bootargs earlyprintk=serial,ttyAMA0,115200n8 console=ttyAMA0,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootfstype=ext4 elevator=noop fsck.repair=yes rootwait smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 selinux=0 noinitrd
load mmc 0:2 ${fdt_addr} usr/lib/linux-image-5.3.13/${fdtfile} || load mmc 0:1 ${fdt_addr} ${fdtfile} || load mmc 0:1 ${fdt_addr} boot/${fdtfile}
load mmc 0:1 ${kernel_addr} vmlinuz-5.3.13 || load mmc 0:1 ${kernel_addr} zImage || load mmc 0:1 ${kernel_addr} boot/vmlinuz-5.3.13 || load mmc 0:1 ${kernel_addr} boot/zImage
bootz ${kernel_addr} - ${fdt_addr}

Write this Image, to a sd-card.
Mount 1st Partition in '/mnt',

mount /dev/sdb1 /mnt

Then change the 'boot.cmd' script to point to your board..
# You can find a list of supported boards 'dtb' files in: '/usr/lib/linux-image-5.3.13'( or in the beguining of this article smile )
# Edit the file 'boot.cmd', with 'vi' for example.
# change the line:

setenv fdtfile bcm2835-rpi-b.dtb

to

setenv fdtfile your_board.dtb

Save the file,
# Generate the real script file( binary ), 'boot.scr'

mkimage -C none -A arm -T script -d /mnt/boot.cmd /mnt/boot.scr

Done!

2) - Linux Kernel

Packages:

There are 3 packages installed:

# dpkg -l |grep -E "(linux-.*(headers|image|libc-dev))"
ii  linux-headers-5.3.13:armhf 5.3.13-1        armhf        Linux kernel headers for 5.3.13 on armhf
ii  linux-image-5.3.13:armhf   5.3.13-1        armhf        Linux kernel, version 5.3.13
ii  linux-libc-dev:armhf       5.3.13-1        armhf        Linux support headers for userspace development

The target will be to improving the Device Tree Bindings, for each board, when possible..


3) - UserSpace -Users & Passwords:

1) root      - password 'toor'
2) devuan - password 'devuan'

NOTA!
SSH is enabled, so that you can login, but root login, is disabled, you should login as 'devuan', only then switch to 'root', if you want to.. for that,
After Login as 'devuan', issue:

sudo su -

And type your 'devuan' password, that's it..



For this image, to reach more Supported Hardware and Users, your help is also needed smile
Testing this image, posting your feedback, and improvements..
Sha256sum:

# sha256sum devuan-ascii-rpi-armel-0.1-beta.img.gz
9ca14d246dc5a526e0b915271cebf652eb551613a7a7b36c77d5697cc4fcdc38  devuan-ascii-rpi-armel-0.1-beta.img.gz

Best Regards,
tux

Last edited by tuxd3v (2019-11-28 13:29:43)

Offline

Board footer