dippywood
-
Posts
11 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by dippywood
-
-
13 hours ago, SecT0uch said:
I wasn't sure of that, but thanks, it worked like a charm!
You are most welcome.
-
@SecT0uchIf you are able to mount the image on another system then you could make the update in place
Something along the lines of (adjust paths to suit your setup)
mkdir /tmp/image mount -v -o offset=4194304 -t ext4 /Path/To/Armbian_21.02.3_Pine64so_focal_current_5.10.21.img /tmp/image dtc -O dtb -o /tmp/image/boot/allwinner/dtb/sun50i-a64-sopine-baseboard.dtb -b 0 sun50i-a64-sopine-baseboard.dts umount /tmp/image
Then write the image as usual
You can mount this from another Linux system. from WSL2 or whatever, as long as you have the dtc command avaialble.
-
This issue with the SD card vanishing is also being discussed here:-
As a work-around you can install a slightly earlier version and hold back linux-dtb-current-sunxi64 - or modify the dts to re-add the missing non-removable entry, as I did. The dts for the SoPINE is attached to the other thread.
@goathunter- there's a name from my VAX past... :-)
-
In my stupidity when renaming my temporary files I used the wrong extension - the file previously attached is the DTS.
So, here it is, with the proper extension.
I have asked for a new brain for my birthday!
-
So, here's the problem, and its resolution:
Comparing the decompiled DTBs for the SOPine for 21.02.1 and 21.02.3, diff gives me
565d564 < non-removable; 600c599 < max-frequency = <0xbebc200>; --- > max-frequency = <0x8f0d180>; 681a681,682 > phys = <0x2d 0x00>; > phy-names = "usb"; 691a693,694 > phys = <0x2d 0x00>; > phy-names = "usb";
Working through these show that only the first of these seems to make a difference. The definition for mmc@1c0f000 no longer contained the 'non-removable' entry.
Therefore, inserting "non-removable;" at line 565 of sun50i-a64-sopine-baseboard.dts and compiling to /boot/dtb/allwinner/sun50i-a64-sopine-baseboard.dtb resolves this issue.
I can supply a patched focal image if requested.
-
Just in case this provokes an 'ah-ha!' - this problem is somewhere within the DTB.
I purchased a baseboard so that I can reboot on command, and by selectively releasing the hold on package upgrades, this shows that the problem is only apparent when linux-dtb-current-sunbix64 is upgraded
If there is no light-bulb moment then I'll start digging through the dtbs and see what I can find.
-
@IgorPlease do not think that your efforts are unappreciated - they are, and greatly so. I was simply concerned that the board status was not what I expected.
I also agree with the work-around - and thus me taking the builds and working out which would work for @robocone
I am also not adverse to providing workarounds when I can, and, as time allows, I will attempt to identify exactly where the problem is, and share same.
Once more, the efforts here are greatly appreciated (at least by myself) and I remain grateful for all of your efforts. If I can find the cause then I shall do so, but. for me. the 'free' is very valuable
-
Thank you for the clarification - and apologies for my misunderstanding.
-
I have the same problem -so, to help things along a little - 21.02.1 WILL boot - 21.02.3 does not.
Upgrading via apt will prevent booting unless frozen.
@TRS-80(it seems that you might be a good person to ask) I note that, in the first post, this has been flagged as having a board that is not on the list - this board is the Sopine A64 compute module, which is intended for use in the 'baseboard' and the 'clusterboard' The Sopine A64 is explicitly listed as supported. Is it that this compute module is only supported when used with the baseboard? It seems as though the clusterboard has been supported until now, with changes having been made to support networking just recently
-
I posted just such a script on the clusterboard Pine64 forum, but here you are anyway
#!/bin/bash DTB_NAME=sun50i-a64-sopine-baseboard.dtb DTB_PATH=/boot/dtb/allwinner TMPFILE=/tmp/tmp.dts NEWFILE=/tmp/new.dts clean_up() { rm $TMPFILE $NEWFILE > /dev/null 2>&1 } if [ ! -f $DTB_PATH/$DTB_NAME ] then echo dtb file not found exit 999 fi dtc -I dtb -O dts -o $TMPFILE $DTB_PATH/$DTB_NAME > /dev/null 2>&1 if [ $? != 0 ] then echo Cannot extract dts from $DTB_PATH/$DTB_NAME exit 998 fi retcode=0 grep 'allwinner,tx-delay-ps' $TMPFILE > /dev/null 2>&1 if [ $? != 0 ] then sed -e '/ethernet@1c30000 {$/,/phandle = <0x88>;/!b;/phandle = <0x88>;/a\\t\t\tallwinner,tx-delay-ps = <500>;' $TMPFILE > $NEWFILE if [ $? != 0 ] then echo Could not update temporary DTS file retcode=997 else dtc -O dtb -o $DTB_PATH/$DTB_NAME -b 0 $NEWFILE > /dev/null 2>&1 if [ $? != 0 ] then echo Could not create new dts file retcode=996 fi fi else echo Fix already in place fi clean_up exit $retcode
I hope you find it useful
Unable to boot 'focal' or 'buster' images on SOPine Clusterboard
in SD card and PSU issues
Posted
@Buckzilla311- I did caveat with 'something along the lines of' to ensure that another brain replacement was not warranted due to lack of forethought :-)
In any case, I am glad it is working for you!