The officially official Devuan Forum!

You are not logged in.

#1 2019-11-17 03:22:22

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

[ ARMHF ] beta builds, for Sunxi Boards

Hello All,
This is the aarch32( armhf ) counterpart, for Linux Sunxi, Allwinner A20 Hardware..

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

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

Features & Versions:

1) - Arm Trusted Firmware  - Mainline ( built for armhf )
      U-boot boot-loader       - v201910 ( built for armhf )
2) - Linux Kernel                - Stable 5.3.10 + Kernel Side of Lima driver ( built for armhf )
3) - UserSpace                  - Devuan ascii ( for armhf )

1) BootLoader( ATF + u-boot )

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      1049kB  101MB   99.6MB  primary  ext2
 2      101MB   1100MB  999MB   primary  ext4

a)   - Bootloader( Arm Trusted Firmware + U-Boot ), is between [ beginning - 1st partition ]( starting at sector 16( 8KiB ), til 1MiB )
  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 'Olimex Olinuxino Lime2' Device Tree Binary File by default( was tested there.. )..
  a3) - IF you have other board than  'Orange PI One Plus', please Read Bellow in the 'Notes Section'..   
b)   - 1st Partition( after BootLoader ) is mounted as  '/boot'
c)   - 2nd Partition is mounted as rootfs '/'

NOTA!
The Bootloader in a) usually takes ~600KiB..
Each time a bootloader is built, all area [ 8KiB - 1MiB ], needs to be clean first( so that you can flash the new bootloader.. because could still be there any bits of the previous one.. which could lead to unpredictable consequences.. ).

If you have Other Board than 'Orange PI One Plus', situation described in a3):
The 'boot.cmd' script( format, Human Readable ):

# setup MAC address
# setenv ethaddr 7E:8C:70:59:B5:71
# Send debug info to uart, and also display
setenv stdout serial,vga
setenv stderr serial,vga
setenv bootargs debug=on console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait fsck.repair=yes panic=15
setenv fdtfile sun7i-a20-olinuxino-lime2.dtb
load mmc 0:2 0x43000000 usr/lib/linux-image-5.3.11/${fdtfile} || load mmc 0:1 0x43000000 ${fdtfile} || load mmc 0:1 0x43000000 boot/${fdtfile}
load mmc 0:1 0x42000000 vmlinuz-5.3.11 || load mmc 0:1 0x42000000 zImage || load mmc 0:1 0x42000000 boot/vmlinuz-5.3.11 || load mmc 0:1 0x42000000 boot/zImage
bootz 0x42000000 - 0x43000000

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.11'
# Edit the file 'boot.cmd', with 'vi' for example.
# change the line:

setenv fdtfile sun7i-a20-olinuxino-lime2.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( in the future will be at least the graphics drivers more.. ):

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

The target will be to reach, at least the Linux kernel 5.5( since there still are few things that need support, but not much.. ), and of course.. work improve 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 improvments..
SHA256sum:

# sha256sum devuan-ascii-sunxi-armhf-0.2-beta.img.gz
dca40275727863a097de21fba00db24cbbf66f475e0b19941c63f331d2ca1443  devuan-ascii-sunxi-armhf-0.2-beta.img.gz

Best Regards,
tux

Last edited by tuxd3v (2019-11-27 16:12:10)

Offline

Board footer