PINE64
Star64: 4GB on 8GB boards - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: General (https://forum.pine64.org/forumdisplay.php?fid=1)
+--- Forum: Getting Started (https://forum.pine64.org/forumdisplay.php?fid=21)
+--- Thread: Star64: 4GB on 8GB boards (/showthread.php?tid=18263)



Star64: 4GB on 8GB boards - Der Geist der Maschine - 05-25-2023

I have 8 GB of physical memory and I get that on Fishwaldo's image.

When using his kernel, modules and device tree from https://github.com/Fishwaldo/Star64_linux on Armbian https://www.armbian.com/star64/, I get only 4 GB of physical memory.


Code:
root@star64:/usr/src/linux# dmesg | grep Memory
[    0.000000] Memory: 2970040K/4192256K available (10967K kernel code, 7217K rwdata, 4096K rodata, 2189K init, 405K bss, 435784K reserved, 786432K cma-reserved)


Note, in these early days, Fishwaldo's kernel is a must-have way superior over other kernels.

I have not familiarized myself with the ins and outs of the boot process and don't understand where it fails on Armbian and perhaps other distributions.

The easiest workaround is setting the memory requirements to 8GB in the device tree


Code:
root@star64:/usr/src/linux# git diff
diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dtsi b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dtsi
index a6517cb4178a..d39e1377db73 100755
--- a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dtsi
@@ -47,7 +47,7 @@ cpus {

        memory@40000000 {
                device_type = "memory";
-              reg = <0x0 0x40000000 0x1 0x0>;
+              reg = <0x0 0x40000000 0x2 0x0>;
        };

        reserved-memory {


After applying above patch, rebuild the device tree as usual:


Code:
root@star64:/usr/src/linux# make starfive/jh7110-pine64-star64.dtb
root@star64:/usr/src/linux# cp arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dtb /boot/dtb/starfive/jh7110-star64-pine64.dtb
root@star64:/usr/src/linux# reboot


This patch against Fishwaldo's kernel gives me 8 GB of memory on Armbian:


Code:
root@star64:/usr/src/linux# dmesg | grep Memory
[    0.000000] Memory: 7100836K/8386560K available (10967K kernel code, 7217K rwdata, 4096K rodata, 2189K init, 405K bss, 499292K reserved, 786432K cma-reserved)



RE: Star64: 4GB on 8GB boards - Fishwaldo - 06-06-2023

This is due to u-boot not updating the dtb file.
The current flow is
1) uboot reads the eeprom and determines which model you have (4/8gb)
2) uboot finds your dts file through various means (distroboot, extlinux etc)
3) uboot updates the dts file with the correct memory: "fdt memory ${memory_addr} ${memory_size};"
4) uboot "saves" the updated dtb file to /dtbs/${fdtfile}
5) uboot boots the kernel

If your distro doesn't follow the boot process exactly like starfive images, then the above wont happen, and you will be left with 4Gb ram.

You can see the uboot commands executed on boot here:
https://github.com/Fishwaldo/u-boot/blob/172b47f62039605d6806fa96bd403c21cda28996/include/configs/pine64-star64.h#L141

(also, another thread talked about instability with ethernet - thats also due to uboot commands not executing correctly to setup the ethernet ports - it was a issue on VF2, but doesn't exist on Star64 - until someone "ports" uboot properly to Star64, we are stuck with that).


RE: Star64: 4GB on 8GB boards - balbes150 - 07-12-2023

Are there owners of a model with 4GB of RAM ?


RE: Star64: 4GB on 8GB boards - Gladox114 - 07-26-2023

(07-12-2023, 11:57 PM)balbes150 Wrote: Are there owners of a model with 4GB of RAM ?

Yes, I am an owner of the 4GB model


RE: Star64: 4GB on 8GB boards - balbes150 - 07-27-2023

(07-26-2023, 12:33 PM)Gladox114 Wrote:
(07-12-2023, 11:57 PM)balbes150 Wrote: Are there owners of a model with 4GB of RAM ?

Yes, I am an owner of the 4GB model
What systems do you run on your device ? Can you check how much RAM ArmbianTV will show on your model?