Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 30,121
» Latest member: sabersoul1217
» Forum threads: 16,364
» Forum posts: 117,538

Full Statistics

Latest Threads
Pinephone software
Forum: General Discussion on PinePhone
Last Post: Zebulon Walton
07-10-2026, 02:21 PM
» Replies: 3
» Views: 355
Real women, real desire, ...
Forum: General
Last Post: Spaker
07-10-2026, 01:04 AM
» Replies: 0
» Views: 88
Weatherproof case build
Forum: Enclosures
Last Post: ltorsini
07-07-2026, 07:01 PM
» Replies: 12
» Views: 38,572
Pinephone + Keyboard for ...
Forum: PinePhone Hardware
Last Post: PinePhoneProUser
07-07-2026, 04:47 PM
» Replies: 16
» Views: 11,183
pinecil v2 dosent negotia...
Forum: General Discussion on Pinecil
Last Post: moses
07-07-2026, 07:28 AM
» Replies: 0
» Views: 143
Rock64 v2.0 u-boot SPI is...
Forum: General Discussion on ROCK64
Last Post: ju0n
07-05-2026, 11:02 AM
» Replies: 0
» Views: 180
Libby - ebook reader that...
Forum: PineNote Software
Last Post: kiwigoldfish
07-04-2026, 04:41 PM
» Replies: 6
» Views: 4,133
PineNote v1.2 - Charges N...
Forum: General Discussion on Pinebook Pro
Last Post: ttsp
07-02-2026, 02:52 AM
» Replies: 0
» Views: 389
How to change the PineNot...
Forum: General Discussion on PineNote
Last Post: cameronharring
07-01-2026, 12:22 PM
» Replies: 0
» Views: 222
PinePhone Pro disable Vol...
Forum: PinePhone Pro Hardware
Last Post: FR_IV
07-01-2026, 10:53 AM
» Replies: 1
» Views: 1,675

 
  Mainline U-Boot with Arch Linux PKGBUILD
Posted by: mmatyas - 04-17-2020, 03:49 AM - Forum: Linux on RockPro64 - No Replies

Hello,

I have been tweaking my Arch Linux setup since I described how to dirty hack Arch over Ayufans images in this forum a while back (https://forum.pine64.org/showthread.php?tid=6333).

There is already a thread on compiling U-Boot for the RockPro64 in this forum by @TaborFifehttps://forum.pine64.org/showthread.php?tid=7992, but he did not create a PKGBUILD for easy reproduction and updates under Arch Linux. His build is rather described to be built from any host, but I think if anyone wants to install Arch Linux on their RockPro64, it is likely they also have an Arch Linux x86 machine running somewhere Big Grin

So, now I have created a PKGBUILD for building U-Boot for the RockPro64 from upstream U-Boot with ARM Trusted Firmware also built from source. The PKGBUILD and install files are based on the uboot PKGBUILD for the Rock64 which is already in the ArchLinuxARM repos.

According to the Rockchip wiki http://opensource.rock-chips.com/wiki_Boot_option, this equals to Boot Flow 2 with the small exception that ATF is also compiled from source.

The PKGBUILD can be both cross compiled from an Arch Linux x86 machine (works out of the box) or directly on your RockPro64.

What is the advantage of doing everything from source: First for the fun of learning, and second, I can do the build without the Rockchiptools. I just find things more beautiful if you do not need special vendor tools for anything.


So, here is the HowTo (to do an initial build to bootstrap your SD card from your Arch Linux x86 PC):

1) Check out the PKGBUILD from my GitHub: https://github.com/matyas1995/u-boot-PKGBUILD.git

2) Make the package - for bootstrapping the SD card, you will need to go into the directory where the package sources have been build my makepkg

3) Partition your SD card as described by @TaborFife https://forum.pine64.org/showthread.php?tid=7992 in his thread in Section 2, steps 0 to 4

4) From the directory where u-boot has been build (makepkg builds packages in the 'BUILDDIR' directory, described in /etc/makepkg.conf) burn the bootloader with dd to the SD card:

Code:
dd if=/usr/share/uboot/idbloader.img of=/dev/mmcblk0 seek=64 conv=notrunc
dd if=/usr/share/uboot/u-boot.itb of=/dev/mmcblk0 seek=16384 conv=notrunc

5) When you are done, check out the thread of @TaborFife again and continue with Step 5 from Section 2 until the end to bootstrap Arch Linux ARM on your SD card.

What to do if you already have Arch Linux installed on your RockPro64:

1) Either on your Arch Linux x86 machine or directly on the RockPro64, check out my GitHub repo

2) Make the package (When building on your RockPro64, please refrain from compiling on the SD card. That is terribly slow and cards are not really made to endure such write loads). If you cross compile from your x86, copy the resulting package to your RockPro64

3) Install the built package with pacman. You can choose if you want to directly burn it to your SD card or do it later manually. If you do it manually, the needed files are copied to the directory /usr/share/uboot

Closing remarks:

As of the writing of this post, my RockPro64 runs on the newest U-Boot release 2020.01

Configure the boot:
The package employs the file /boot/boot.scr, generated from /boot/boot.txt for boot configuration. If you want to use extlinux config file for booting, simply delete /boot/boot.scr and create a file /boot/extlinux/extlinux.conf with an extlinux.conf (you can create your own, copy one from Ayufan's images, whatever you like). Mainline U-Boot understands both files, seems to prefer /boot/extlinux/extlinux.conf if both are present.

I have not tried to burn U-Boot to the SPI flash, it would be nice if someone who tries this could post their results.

If you want just U-Boot for whatever distro, just head over to @TaborFife 's Thread for the general description of compiling U-Boot (Described in his Section 1)


  i2s master.slave on Adroid 7
Posted by: allo - 04-17-2020, 03:16 AM - Forum: General Discussion on PINE A64-LTS / SOPINE - Replies (1)

Hi

  I would like to know if I the SOC is able to function on slave mode using Android 7


  Slow/dead ethernet on (non-Ayufan) Linux Mainline (fixed)
Posted by: mmatyas - 04-17-2020, 02:30 AM - Forum: Linux on RockPro64 - Replies (1)

Hello,

I am running vanilla Arch Linux with the stock mainline kernel on my RockPro64 (If you are interested in how to install, just check the other threads).

However, for a while now the ethernet on the RockPro was as good as dead, with network speeds reaching about 50-80Kbit/s!!!

As I am using my RockPro as a home cloud server, you can imagine how frustrating this is for me. This is so slow that even system upgrades fail due to timeouts on downloading the upgrade packages. So I used the free time now to dig into this issue, especially as I have not read anything of this behaviour from the other mainline users in this forum.

The first big difference between me and the other mainline users seem to be that while I am using the mainline Kernel from Arch, others on the Ayufan Images use the kernel compiled from Ayufan's mainline repo, where he also implements some patches specific to the Rockchip devices.

After a while I found a mail from him on the Linux Kernel Mailing Lists,

Thread: https://lkml.org/lkml/2019/4/1/1382

describing my problem as a bug in some rockchip boards where TX checksumming fails for ethernet packets larger than 1498 Bytes due to incorrect buffer utilization. This would also explain why I am still having a connection to my RockPro through SSH and why the DNS server on the RockPro still serves my home network, but updates fail: An ethernet packet can be as big as 65536 Bytes(!), so while SSH and DNS usually stay below a packet size of 1498B due to the small amounts of data they need to transmit, any file download will be split in packets as big as possible, breaking the checksums.

I could nicely verify this behavoiur with Iperf3 on my board: Iperf3 sends 128KB packets as default, reaching the expected 0-50Kbit/s ethernet speed, but when told to send packets of size 1490B only, ethernet throughput suddenly jumps up to gigabit speeds.

So, how to solve this?
It seems that the discussion turns around if this is just a board related issue or something in the SoC, as the problem seems to be in the utilization of the TX FIFO buffers by Linux. As it looks like they are experimenting with the burst lengths and a workaround of using software checksumming instead of offloading the checksumming.

So, I just took the Arch Linux PKGBUILD for the linux-aarch64 stock kernel and tweaked the device tree for the RockPro64 to include the lines

Code:
snps,no-pbl-x8;
snps,txpbl = <0x20>;

in the gmac node. Of course you could also just go to /boot/dts/rockchip, decompile the device tree with dtc, change the lines at the appropriate position and recompile with dtc to save the fuss of having to unnecessarily recompile the whole kernel.

According to the mailing list, just setting
Code:
snps,txpbl = <0x4>;
also work fine.

Changes discussed in the mailing list thread can be found in the commits designated for Linux 5.7, so lets hope this fix does not have to be applied manually for every kernel upgrade in the future.

So, hopefully this thread will become obsolete in a couple of months Big Grin


  ZOOM Use on PBP
Posted by: jcj52436999 - 04-16-2020, 12:35 PM - Forum: General Discussion on Pinebook Pro - Replies (25)

Howdy Folks, 

ZOOM would be a Great app to have on PBP, given the unfortunate Shelters in Place, but so far my attempts to start Zoom from urls in MeetUp.com draw a blank, and attempts to install a Zoom from Synaptics have found no Zoom.  Is there a Zoom app for PBP please, or must I continue to use cell Zoom when away from desk?  

PBP is now my favorite laptop, very easily carried, but it needs a Zoom.  

:-)


  Anyone have CPU Speed widget on Manjaro 20.04?
Posted by: tim2@timshome.com - 04-16-2020, 11:29 AM - Forum: Linux on Pinebook Pro - Replies (4)

I am loving Manjaro 20.04 on Pinebook Pro, really working well for me. I have had very few issues and most have been solved easily.

One issue that I have not figured out and have not been able to find in the forum with a search: I miss the CPU speed indicator/selector widget that was in the Debian install.

Has anyone got that to work under Manjaro?

Thanks, Tim


  Ordering
Posted by: cacilhas - 04-16-2020, 08:01 AM - Forum: General Discussion on PinePhone - No Replies

I’ve ordered a PinePhone and received the checkout URL, but no information about the delivering process.

I sent two email messages to sales@pine64.org, but received no response.

Where is my PinePhone?


  fingerprint sensor on pinetab
Posted by: Goddard - 04-16-2020, 07:22 AM - Forum: General - Replies (1)

I would love to see a fingerprint sensor on the pinetab.


  accident got 12v at my rock64
Posted by: lifeform - 04-15-2020, 11:53 PM - Forum: Rock64 Hardware and Accessories - Replies (1)

hello,
i got accidently plug psu 12v to my rock64, what i can do to make it run again?

i plug 5v 3amp the green lamp is on. but cannot boot at all

what i can help to solved this. looks like something burn. what i must check?
is this chip "25Q127C" got burn if i got plug wrong psu?


  Firefox and form factor
Posted by: Concrete_panda - 04-15-2020, 02:10 PM - Forum: PostmarketOS on PinePhone - Replies (9)

Hey guys,

a little question concerning Firefox.

I could easily install it with 


Code:
sudo apk add firefox


But then, the form factor does not fit too well to the phone screen.

I followed these instructions, but it did not help:
https://wiki.postmarketos.org/index.php?...ew_desktop

Also, the directory ./config/gtk-3.0 does not exist. I created it, but maybe that was not the idea of the instruction.

Does anybody have good idea?

Best,
Thomas


  ISO keybord remap for Romance languages.
Posted by: IoSer - 04-15-2020, 01:59 PM - Forum: Linux on Pinebook Pro - Replies (2)

I completed the definition of an ISO keyboard with accented characters for Romance languages.

I have not prepared a script or an installation package.

OPTIMIZED LAYOUT,  FILE CHANGED

If there is interest, installation can be made easier.
In the meantime, mark here how you can remap the keyboard.
This is the file named "iso" which should be placed in the directory (for Debian-like distributions)
"/usr/share/X11/xkb/symbols"


Code:
default  partial
xkb_symbols "iso" {

   name[Group1]="ISO (with latin letters)";

   key <TLDE> { [ dead_grave,     notsign,    brokenbar,         approxeq ] };

   key <AE01> { [         1,      exclam,   onesuperior,       exclamdown ] };  
   key <AE02> { [         2,     quotedbl,  twosuperior,          onehalf ] };
   key <AE03> { [         3,    sterling, threesuperior,         onethird ] };
   key <AE04> { [         4,      dollar,      EuroSign,       onequarter ] };
   key <AE05> { [       5,     percent,          cent,      fiveeighths ] };
   key <AE06> { [         6, dead_circumflex, threequarters, threeeighths ] };
   key <AE07> { [         7,   ampersand,     leftarrow,     seveneighths ] };
   key <AE08> { [         8,    asterisk,     downarrow,         notequal ] };
   key <AE09> { [         9,   parenleft,       uparrow,        plusminus ] };
   key <AE10> { [         0,   parenright,   rightarrow,           degree ] };
   key <AE11> { [     minus,   underscore, dead_cedilla,         infinity ] };
   key <AE12> { [     equal,        plus,      multiply,         division ] };
   
   key <AD01> { [         q,           Q,      lstroke,           Lstroke ] };
   key <AD02> { [         w,           W,  ucircumflex,       Greek_OMEGA ] };  
   key <AD03> { [         e,           E,       egrave,            Egrave ] };
   key <AD04> { [         r,           R,  ecircumflex,       Ecircumflex ] };
   key <AD05> { [         t,           T,       tslash,            Tslash ] };
   key <AD06> { [         y,           Y,   ydiaeresis,        Ydiaeresis ] };  
   key <AD07> { [         u,           U,       ugrave,            Ugrave ] };
   key <AD08> { [         i,           I,       igrave,            Igrave ] };
   key <AD09> { [         o,           O,       ograve,            Ograve ] };
   key <AD10> { [         p,           P,        thorn,             THORN ] };    
   key <AD11> { [  bracketleft,  braceleft,  leftdoublequotemark,  leftsinglequotemark ] };
   key <AD12> { [ bracketright, braceright, rightdoublequotemark, rightsinglequotemark ] };
     
   key <AC01> { [         a,          A,        agrave,           Agrave ] };
   key <AC02> { [         s,          S,        ssharp,          section ] };
   key <AC03> { [         d,          D,        eacute,           Eacute ] };
   key <AC04> { [         f,          F, dead_belowdot,      ordfeminine ] };
   key <AC05> { [         g,          G, dead_abovedot,        masculine ] };
   key <AC06> { [         h,          H,       hstroke,          Hstroke ] };  
   key <AC07> { [         j,          J,        uacute,           Uacute ] };
   key <AC08> { [         k,          K,        iacute,           Iacute ] };
   key <AC09> { [         l,          L,        oacute,           Oacute ] };
   key <AC10> { [ semicolon,     colon, dead_abovering,        paragraph ] };
   key <AC11> { [ apostrophe,        at,    dead_acute,       circumflex ] };    
   key <BKSL> { [ numbersign, asciitilde,   dead_tilde,         integral ] };

   key <LSGT> { [ backslash,        bar, dead_diaeresis,          endash ] };
   key <AB01> { [         z,          Z,        aacute,           Aacute ] };
   key <AB02> { [         x,          X,            ae,               AE ] };      
   key <AB03> { [         c,          C,      ccedilla,         Ccedilla ] };    
   key <AB05> { [       b,          B,         U0259,         idotless ] };    
   key <AB04> { [         v,          V,            oe,               OE ] };
   key <AB06> { [         n,          N,        ntilde,           Ntilde ] };
   key <AB07> { [       m,          M,    dead_macron,              mu ] };      
   key <AB08> { [     comma,       less,   guillemotleft,       abovedot ] };  
   key <AB09> { [    period,    greater,  guillemotright, periodcentered ] };
   key <AB10> { [     slash,   question,      dead_breve,   questiondown ] };        
   
       include "level3(ralt_switch_multikey)"
};

These are the lines to add to the "gb" file of this directory:
Code:
partial alphanumeric_keys
xkb_symbols "iso" {

include "iso"
};
these lines must be inserted between two descriptions of variants
example:
...
    include "level3(ralt_switch)"

};
 
 <-- enter HERE -------------------------------------------------------------------
// Describe the differences between the US Colemak layout
// and a UK variant. By Andy Buckley (andy@insectnation.org)

partial alphanumeric_keys
xkb_symbols "colemak" {
    include "us(colemak)"
...

edit the file "/usr/share/X11/xkb/rules/base.lst"

adding the line:
Code:
iso             gb: ISO (with latin letters)
(near line 721)

for example
...
  mac_intl        gb: English (UK, intl., Macintosh)
 <-- enter HERE -------------------------------------------------------------------
  colemak         gb: English (UK, Colemak)
... 

edit the file "/usr/share/X11/xkb/rules/base.xml"

adding the lines:
Code:
       <variant>
         <configItem>
           <name>iso</name>
           <description>ISO (with latin letters)</description>
         </configItem>
       </variant>
(near line 5618)

for example
...
        <variant>
          <configItem>
            <name>mac_intl</name>
            <description>English (UK, intl., Macintosh)</description>
          </configItem>
        </variant>
 <-- enter HERE -------------------------------------------------------------------
      <variant>
          <configItem>
            <name>colemak</name>
            <description>English (UK, Colemak)</description>
          </configItem>
        </variant>
...
copy the two files "base.lst" and "base.xml" replacing respectively "evdev.lst" and "evdev.xml"

For safety, better rename the initial files so you can easily restore them.

To make the changes effective, use mate control center / keybord / add keybord ("mate-keyboard-properties") and select UK (GB) language and "ISO (with latin letters)" variant.

The graphical layout is in the attachmentent



Attached Files
.pdf   ISO-latin-layout.pdf (Size: 37.76 KB / Downloads: 515)