Rock64: Installing Arch from Debian Jessie

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

Rock64: Installing Arch from Debian Jessie

Postby rontant » Mon Aug 21, 2017 4:54 am

I just got this new SBC called Rock 64 https://www.pine64.org/?page_id=7147. I installed ALARMv8 generic from one of their user community provided distro images called ayufan Debian Jessie Minimal. I am able to boot and SSH into ALARM, run pacman -Syu, etc but so far I found running DMESG and TOP renders the system unresponsive. I am sure there are steps I missed. Can any kind soul please help give me some pointers on what I did wrong or missed? Thanks in advance.

Here are steps I did to install ALARM v8 generic from ayufan Debian Jessie Minimal:

Plug in a new disk, partition and format it as EXT4)

Code: Select all
sudo -i
e2label /dev/sda1 rootfs
mount /dev/sda1 /mnt
cd /mnt
wget http://archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
tar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt
sync
rm /mnt/etc/machine-id &&
cp /etc/hostname /mnt/etc/hostname &&
cp /etc/fstab /mnt/etc/fstab


Change "LABEL=linux-root" in /boot/efi/extlinux/extlinux.conf to "LABEL=rootfs"
Reboot
SSH into it using account "alarm" successfully

Here are the first few lines of dmesg before Putty got disconnected:
Code: Select all
[alarm@alarm ~]$ dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.70-rockchip-ayufan-83 (root@696207e32f2d) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ) #1 SMP Mon Jul 31 08:43:12 UTC 2017
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] earlycon: Early serial console at MMIO32 0xff130000 (options '')
[    0.000000] bootconsole [uart0] enabled
[    0.000000] On node 0 totalpages: 523776
[    0.000000]   DMA zone: 8184 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 523776 pages, LIFO batch:31
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] PERCPU: Embedded 21 pages/cpu @ffffffc07ff52000 s46312 r8192 d31512 u86016
[    0.000000] pcpu-alloc: s46312 r8192 d31512 u86016 alloc=21*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 515592
[    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff130000 rw root=LABEL=rootfs rootwait rootfstype=ext4 init=/sbin/init coherent_pool=1M
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] software IO TLB [mem 0x79600000-0x7d600000] (64MB) mapped at [ffffffc079600000-ffffffc07d5fffff]
[    0.000000] Memory: 1971944K/2095104K available (11326K kernel code, 1320K rwdata, 3876K rodata, 1152K init, 743K bss, 123160K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
                   modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
                   vmalloc : 0xffffff8008000000 - 0xffffffbdbfff0000   (   246 GB)
                     .init : 0xffffff8008f60000 - 0xffffff8009080000   (  1152 KB)
                     .text : 0xffffff8008080000 - 0xffffff8008b90000   ( 11328 KB)
                   .rodata : 0xffffff8008b90000 - 0xffffff8008f60000   (  3904 KB)
                     .data : 0xffffff8009080000 - 0xffffff80091ca008   (  1321 KB)
                   vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000   (     8 GB maximum)
                             0xffffffbdc0008000 - 0xffffffbdc2000000   (    31 MB actual)
                   fixed   : 0xffffffbffe7fd000 - 0xffffffbffec00000   (  4108 KB)
                   PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000   (    16 MB)
                   memory  : 0xffffffc000200000 - 0xffffffc080000000   (  2046 MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 64.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=4
[    0.000000] NR_IRQS:64 nr_irqs:64 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] Architected cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.001534] Console: colour dummy device 80x25
[    0.001947] console [tty0] enabled
[    0.002272] bootconsole [uart0] disabled
[    0.002669] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=24000)
[    0.002707] pid_max: default: 32768 minimum: 301
[    0.002849] Security Framework initialized
[    0.002871] Yama: becoming mindful.
[    0.002904] AppArmor: AppArmor disabled by boot time parameter
[    0.002986] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.003014] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.003875] Initializing cgroup subsys io
[    0.003910] Initializing cgroup subsys memory
[    0.003959] Initializing cgroup subsys devices
[    0.003985] Initializing cgroup subsys freezer
[    0.004010] Initializing cgroup subsys net_cls
[    0.004035] Initializing cgroup subsys perf_event
[    0.004061] Initializing cgroup subsys pids
[    0.004129] ftrace: allocating 43176 entries in 169 pages
[    0.130617] sched-energy: CPU device node has no sched-energy-costs
[    0.130652] Invalid sched_group_energy for CPU0
[    0.130670] CPU0: update cpu_capacity 1024
[    0.130738] ASID allocator initialised with 65536 entries
[    0.133471] Detected VIPT I-cache on CPU1
[    0.133528] Invalid sched_group_energy for CPU1
[    0.133533] CPU1: update cpu_capacity 1024
[    0.133538] CPU1: Booted secondary processor [410fd034]
[    0.134250] Detected VIPT I-cache on CPU2
[    0.134295] Invalid sched_group_energy for CPU2
[    0.134300] CPU2: update cpu_capacity 1024
[    0.134304] CPU2: Booted secondary processor [410fd034]
[    0.135042] Detected VIPT I-cache on CPU3
[    0.135088] Invalid sched_group_energy for CPU3
[    0.135092] CPU3: update cpu_capacity 1024
[    0.135097] CPU3: Booted secondary processor [410fd034]
[    0.135214] Brought up 4 CPUs
[    0.135547] SMP: Total of 4 processors activated.
[    0.135586] CPU: All CPU(s) started at EL2
[    0.135650] alternatives: patching kernel code
[    0.135896] Invalid sched_group_energy for CPU3
[    0.135931] Invalid sched_group_energy for CPU2
[    0.135961] Invalid sched_group_energy for CPU1
[    0.135992] Invalid sched_group_energy for CPU0
[    0.136823] devtmpfs: initialized
[    0.151784] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.151869] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.152476] xor: measuring software checksum speed
[    0.161797]    8regs     :  1080.000 MB/sec
[    0.171894]    8regs_prefetch:   968.000 MB/sec
[    0.181986]    32regs    :  1352.000 MB/sec
[    0.192083]    32regs_prefetch:  1116.000 MB/sec
[    0.192117] xor: using function: 32regs (1352.000 MB/sec)
[    0.192175] pinctrl core: initialized pinctrl subsystem
[    0.192558] regulator-dummy: no parameters
[    0.193479] NET: Registered protocol family 16
[    0.197193] cpuidle: using governor ladder
[    0.201229] cpuidle: using governor menu
[    0.201280] Registered FIQ tty driver
[    0.201686] vdso: 2 pages (1 code @ ffffff8008b96000, 1 data @ ffffff8009084000)
[    0.201768] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.202269] DMA: preallocated 1024 KiB pool for atomic allocations
[    0.215450] gpiochip_add: registered GPIOs 0 to 31 on device: gpio0
[    0.215612] gpiochip_add: registered GPIOs 32 to 63 on device: gpio1
[    0.215745] gpiochip_add: registered GPIOs 64 to 95 on device: gpio2
[    0.215873] gpiochip_add: registered GPIOs 96 to 127 on device: gpio3
[    0.224934] genirq: Setting trigger mode 8 for irq 177 failed (gic_set_type+0x0/0x68)
[    0.279570] console [ttyFIQ0] enabled
[    0.280233] Registered fiq debugger ttyFIQ0
[    0.317640] raid6: int64x1  gen()   187 MB/s
[    0.334783] raid6: int64x1  xor()   179 MB/s
[    0.351994] raid6: int64x2  gen()   292 MB/s
[    0.369065] raid6: int64x2  xor()   269 MB/s
[    0.386334] raid6: int64x4  gen()   457 MB/s
[    0.403467] raid6: int64x4  xor()   326 MB/s
[    0.420797] raid6: int64x8  gen()   332 MB/s
[    0.437830] raid6: int64x8  xor()   265 MB/s
[    0.455168] raid6: neonx1   gen()   359 MB/s
[    0.472259] raid6: neonx1   xor()   353 MB/s
[    0.489514] raid6: neonx2   gen()   562 MB/s
[    0.506628] raid6: neonx2   xor()   482 MB/s
[    0.523816] raid6: neonx4   gen()   750 MB/s
[    0.541013] raid6: neonx4   xor()   570 MB/s
[    0.558276] raid6: neonx8   gen()   773 MB/s
[    0.575435] raid6: neonx8   xor()   574 MB/s
[    0.575836] raid6: using algorithm neonx8 gen() 773 MB/s
[    0.576326] raid6: .... xor() 574 MB/s, rmw enabled
[    0.576793] raid6: using intx1 recovery algorithm
[    0.577522] mpp venc_srv: mpp_probe enter
[    0.577951] mpp venc_srv: init success
[    0.578682] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/vcc-phy-regulator[0]'
[    0.578718] vcc_phy: no parameters
[    0.578970] reg-fixed-voltage vcc-phy-regulator: vcc_phy supplying 0uV
[    0.579240] of_get_named_gpiod_flags: parsed 'gpio' property of node '/sdmmc-regulator[0]' - status (0)
[    0.579304] reg-fixed-voltage sdmmc-regulator: Looking up vin-supply from device tree
[    0.579325] vcc_sd: unable to resolve supply
[    0.579339] vcc_sd: 3300 mV
[    0.579563] reg-fixed-voltage sdmmc-regulator: Looking up vin-supply from device tree


The tail part
Code: Select all
[alarm@alarm ~]$ dmesg | tail
[   14.184796] systemd[1]: Started Load/Save Random Seed.
[   14.214208] systemd[1]: Started Journal Service.
[   14.289092] systemd-journald[269]: Received request to flush runtime journal from PID 1
[   14.407070] systemd-journald[269]: File /var/log/journal/c9147ec7ddce4e16afdbd6854c531570/system.journal corrupted or uncleanly shut down, renaming and replacing.
[   17.355826] rk_gmac-dwmac ff540000.eth: rk_get_eth_addr: mac address: 82:63:e6:65:e6:f7
[   17.360475] eth0: device MAC address 82:63:e6:65:e6:f7
[   21.428980] rk_gmac-dwmac ff540000.eth eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   22.459073] tty_port_close_start: tty->count = 1 port count = 2.
[   30.525007] audit: type=1006 audit(1503289501.099:2): pid=3279 uid=0 old-auid=4294967295 auid=1000 old-ses=4294967295 ses=1 res=1
[   30.672313] audit: type=1006 audit(1503289501.246:3): pid=3379 uid=0 old-auid=4294967295 auid=1000 old-ses=4294967295 ses=2 res=1



Code: Select all
[root@alarm alarm]# systemd-analyze blame
    3min 52.802s man-db.service
          3.758s dev-sda1.device
          1.669s systemd-logind.service
           887ms systemd-udevd.service
           658ms ldconfig.service
           605ms systemd-journal-catalog-update.service
           493ms systemd-tmpfiles-setup-dev.service
           419ms systemd-networkd.service
           393ms systemd-udev-trigger.service
           340ms systemd-journal-flush.service
           292ms logrotate.service
           254ms systemd-journald.service
           234ms systemd-tmpfiles-setup.service
           220ms systemd-resolved.service
           219ms tmp.mount
           206ms systemd-sysusers.service
           194ms systemd-timesyncd.service
           185ms sys-kernel-debug.mount
           158ms user@1000.service
           157ms systemd-sysctl.service
           142ms sys-fs-fuse-connections.mount
           121ms systemd-random-seed.service
           117ms systemd-update-utmp.service
            68ms systemd-remount-fs.service
            65ms systemd-update-done.service
            63ms sys-kernel-config.mount
            46ms systemd-user-sessions.service
Rock 64, Odroid XU4, Raspberry Pi 3, Pogo 4, Pogo Pink E02, Goflex
rontant
 
Posts: 19
Joined: Sat May 27, 2017 1:10 am
Location: Singapore

Re: Rock64: Installing Arch from Debian Jessie

Postby WarheadsSE » Mon Aug 21, 2017 7:31 pm

I don't have a Rock64, but I do actually work with ayufan at GitLab.

Can you elaborate on the method you used for installation?
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6727
Joined: Mon Oct 18, 2010 2:12 pm

Re: Rock64: Installing Arch from Debian Jessie

Postby rontant » Tue Aug 22, 2017 5:21 am

Thanks for your response, WarheadsSE. I believe they are still providing free sample cards to core developers and I am sure they will be happy to provide you one as well.

Pine Rock 64 has its community forum where they provide users with links to download images of several Linux distros (https://forum.pine64.org/showthread.php?tid=4849). One of the distros I chose is Ayufan Debian Jessie Minimal. After the image was downloaded on my Win 10 laptop, I used Win32 Diskmanager to flash the image into a 32GB SD card. Next I plugged the SD card into Rock 64, powered it up, and logged in using the default username: rock64 and password: rock64. As simple as that.

I hope I answered your question correctly. Do let me know if there's anything I can help.

If you are interested, here is the Rockchip 3328 wiki page: http://opensource.rock-chips.com/wiki_RK3328 but I guess you know already.

Again, thanks.
Rock 64, Odroid XU4, Raspberry Pi 3, Pogo 4, Pogo Pink E02, Goflex
rontant
 
Posts: 19
Joined: Sat May 27, 2017 1:10 am
Location: Singapore

Re: Rock64: Installing Arch from Debian Jessie

Postby WarheadsSE » Tue Aug 22, 2017 4:10 pm

I have reached out to Rock64/pine64.org

Where my confusion comes from is that I don't understand what you did to get ALARM onto the device.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6727
Joined: Mon Oct 18, 2010 2:12 pm

Re: Rock64: Installing Arch from Debian Jessie

Postby rontant » Wed Aug 23, 2017 1:16 am

All the steps outlined in my first post above were actually executed in Rock64 while it was still running ayufan Debian Jessie.

After I logged into its Debian system via SSH (Putty), I mounted a new USB 3.0 disk to Rock 64, partitioned and formatted as EXT4.

The mount point I used is /mnt.

Next, I downloaded ALARM ARMv8 generic to the new partition using wget. ( wget http://archlinuxarm.org/os/ArchLinuxARM ... est.tar.gz)

Untar it to the new partition .

Copied a few files over (such as /etc/fstab, hostname, etc) to the new partition. (This is most probably where I messed up, or perhaps the whole steps are wrong)

I then labeled the new disk partition as "rootfs".

The current ayufan Debian Jessie Minimal in Rock64 has the boot configuration (/boot/efi/extlinux/extlinux.conf) which points the location of the root file system to the partition having a label: "linux-root"

Code: Select all
rock64@rock64:~$ cat /boot/efi/extlinux/extlinux.conf
label kernel-4.4
    kernel /Image
    initrd /initrd.img
    fdt /dtb
    append earlycon=uart8250,mmio32,0xff130000 rw root=LABEL=linux-root rootwait rootfstype=ext4 init=/sbin/init coherent_pool=1M


What I did essentially was to replace "LABEL=linux-root" with "LABEL=rootfs" in extlinux.conf to match the label of the new disk partition which I have installed with Arch LInux Arm ARMv8 generic ( http://archlinuxarm.org/os/ArchLinuxARM ... est.tar.gz).

After the reboot, ALARM root file system is loaded instead and I could log in using the username "alarm" and password "alarm" instead of username "rock64" and password "rock64".
Rock 64, Odroid XU4, Raspberry Pi 3, Pogo 4, Pogo Pink E02, Goflex
rontant
 
Posts: 19
Joined: Sat May 27, 2017 1:10 am
Location: Singapore

Re: Rock64: Installing Arch from Debian Jessie

Postby m4ngust » Fri Sep 01, 2017 1:41 pm

@rontant,
could you please advise if it is possible just to use the generic AArch64?
I am considering to purchase Rock64.

Thanks!
m4ngust
m4ngust
 
Posts: 1
Joined: Thu Oct 27, 2016 6:59 pm

Re: Rock64: Installing Arch from Debian Jessie

Postby rontant » Sun Sep 03, 2017 2:09 pm

@m4ngust,

As mentioned in my post #1, Generic AArch64 (https://archlinuxarm.org/platforms/armv8/generic) is exactly what I was trying to install but I encountered stability issues. Because of this, I have to live with their community build Debian Stretch which is not my personal preference.

Code: Select all
rock64@rock64:~$ uname -a
Linux rock64 4.4.77-rockchip-ayufan-96 #1 SMP Wed Aug 30 21:19:43 UTC 2017 aarch64 GNU/Linux

rock64@rock64:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.1 (stretch)
Release:        9.1
Codename:       stretch
Rock 64, Odroid XU4, Raspberry Pi 3, Pogo 4, Pogo Pink E02, Goflex
rontant
 
Posts: 19
Joined: Sat May 27, 2017 1:10 am
Location: Singapore

Re: Rock64: Installing Arch from Debian Jessie

Postby jasonfisher » Mon Oct 02, 2017 4:38 pm

It looks like this may be related to the USB voltage being unregulated on/after boot with this board. These links have context/an older fix.

https://forum.pine64.org/showthread.php?tid=4941&page=3

https://www.spinics.net/lists/arm-kernel/msg602256.html

https://forum.pine64.org/showthread.php?tid=5001
jasonfisher
 
Posts: 1
Joined: Mon Oct 02, 2017 4:36 pm

Re: Rock64: Installing Arch from Debian Jessie

Postby WarheadsSE » Mon Oct 02, 2017 8:00 pm

I received my Rock64 while I was away at a conference. I've not had time yet to even unbox it.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6727
Joined: Mon Oct 18, 2010 2:12 pm

Re: Rock64: Installing Arch from Debian Jessie

Postby sdrider » Wed Oct 25, 2017 5:45 pm

Very interested in a Rock64 board, but I'd like to run Arch on it. For those of you on this thread, have you had any additional success beyond what's reported here? It'd be ideal if it was one of the easy-to-install images on the home page, but even if I have to do a little work to get there (ie. debian-to-arch), that would be OK for now, so long as the final target system is a stable, working Arch.

Can I get there from here or should I give this board + Arch some more time to bake together?
sdrider
 
Posts: 25
Joined: Sat Aug 10, 2013 3:56 am

Next

Return to ARMv8

Who is online

Users browsing this forum: No registered users and 3 guests