Letux-OS


postmarketOS is a good idea!

Yes, touchscreen needs calibration.

The nubs are available as /dev/input/event but only as nubs after you do this
Code:
               echo mouse > /proc/pandora/nub0/mode    # mouse
               echo mbuttons > /proc/pandora/nub1/mode # mouse buttons
This seems to be missing (resp. the script not executed) on latest LetuxOS images. It did work earlier.

And there was also a minor issue with the display in letux-5.10.4 which will be fixed by letux-5.10.5 (due this week).

USB does not have good control over the 5V power. So it may be turned off.

Other known bugs: https://projects.goldelico.com/p/gta04-kernel/issues/label/2395/open/

There is also a feature table for all devices (but it hasn't been updated for a while): https://git.goldelico.com/letux-kernel-featurelist.php

Finally, let me invite to subscribe to the Letux kernel developers list to learn about the latest topics: https://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel
 
I tried the pandora with xfce with boot.txt renamed to autoboot.txt.. it seems to boot, the LED keeps on blinking orange, but the display stays black :(
Hi all,

Exactly the same on my Rebirth Pandora :(

I just created a bootable SD card with an up-to-date copy of makesd.

What am I doing wrong ?

Cheers, Magic Sam
 
Hi @hns :)

Here are the commands I typed.

As an unprivileged user:

Code:
wget -O makesd "https://git.goldelico.com/?p=gta04-makesd.git;a=blob_plain;hb=HEAD;f=makesd"
chmod +x makesd

And as "root":

Code:
./makesd -u
echo /dev/sda! > ~root/.makesd.conf
./makesd pandora

Cheers, Magic Sam
 
Ok, fine. Here is what I did
Code:
root@letux:/tmp/test# DEV=/dev/sdb ./makesd pandora
1: ext4 s:25% p: b:/+https://download.goldelico.com/letux-u-boot/OpenPandora/stable/* k:/boot+https://download.goldelico.com/letux-kernel/stable/uImage dt:/boot+https://download.goldelico.com/letux-kernel/stable/device-trees.tbz r:https://download.goldelico.com/letux-debian-rootfs/stable-armhf-lxde.tbz m:https://download.goldelico.com/letux-kernel/stable/modules.tgz c:none
2: none s:0% p: b:/+none k:/+none dt:/+none r:none m:none c:none
3: none s:0% p: b:/+none k:/+none dt:/+none r:none m:none c:none
4: none s:0% p: b:/+none k:/+none dt:/+none r:none m:none c:none
umount: /dev/sdb: not mounted
umount: /dev/sdb: not mounted
umount: /dev/sdb1: not mounted


total 0
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 1.50423 s, 697 kB/s
4+0 records in
4+0 records out
4 bytes copied, 0.00558097 s, 0.7 kB/s
Checking that no-one is using this disk right now ... OK


Disk /dev/sdb: 29.9 GiB, 32044482560 bytes, 62586880 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

>>> Created a new DOS disklabel with disk identifier 0xc632c2fc.
/dev/sdb1: Created a new partition 1 of type 'Linux' and of size 29.9 GiB.
/dev/sdb2: Done.


New situation:

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1         128 62586879 62586752 29.9G 83 Linux

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
making ext4 partition rootfs
mke2fs 1.43.4 (31-Jan-2017)
Creating filesystem with 7823344 4k blocks and 1957888 inodes
Filesystem UUID: 17de7898-0320-4581-b43e-159167d0dc82
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

e2fsck 1.43.4 (31-Jan-2017)
rootfs: clean, 11/1957888 files, 166928/7823344 blocks
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       30545420 4254432  24732692  15% /
devtmpfs          505336       0    505336   0% /dev
tmpfs             514040       0    514040   0% /dev/shm
tmpfs             514040   51908    462132  11% /run
tmpfs               5120       0      5120   0% /run/lock
tmpfs             514040       0    514040   0% /sys/fs/cgroup
tmpfs             102808       0    102808   0% /run/user/0
/dev/sdb1       30670788   45124  29060996   1% /media/P1
total 16
drwx------ 2 root root 16384 Apr 18 15:18 lost+found
--2022-04-18 15:21:40--  https://download.goldelico.com/letux-debian-rootfs/stable-armhf-lxde.tbz
Resolving download.goldelico.com (download.goldelico.com)... 85.214.17.227
Connecting to download.goldelico.com (download.goldelico.com)|85.214.17.227|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 365212613 (348M) [application/octet-stream]
Saving to: 'STDOUT'


-                                                                0%[                                                                                                                                                    ] 593.44K   955KB/s               .

         ... many such lines cut out ...

./etc/init.d/wwan
./etc/default/nodm
total 812
dr-xr-xr-x  2 root root   4096 Nov  6 10:55 Desktop
drwxr-xr-x  4 root root   4096 Nov  6 10:57 bin
drwxr-xr-x  2 root root   4096 Apr 18 15:31 boot
-rw-r--r--  1 root root   2129 Apr 18 15:31 boot.scr
drwxr-xr-x  2 root root   4096 Nov  6 10:34 dev
drwxr-xr-x 86  502 root   4096 Apr 18 15:31 etc
drwxr-xr-x  3 root root   4096 Nov  6 10:57 home
drwxr-xr-x 13  502 root   4096 Apr 18 15:31 lib
drwx------  2 root root  16384 Apr 18 15:18 lost+found
-rw-r--r--  1 root root    724 Apr 18 15:32 makesd.info
drwxr-xr-x  2 root root   4096 Nov  6 10:34 media
drwxr-xr-x  9 root root   4096 Nov  6 10:55 mnt
drwxr-xr-x  2 root root   4096 Nov  6 10:34 opt
drwxr-xr-x  2 root root   4096 Jul 10  2020 proc
drwxr-xr-x  2  502 root   4096 Mar 29 07:03 root
drwxr-xr-x  5 root root   4096 Nov  6 10:59 run
drwxr-xr-x  2 root root   4096 Nov  6 10:54 sbin
drwxr-xr-x  2 root root   4096 Nov  6 10:34 srv
drwxr-xr-x  2 root root   4096 Jul 10  2020 sys
drwxrwxrwt  2 root root   4096 Nov  6 11:01 tmp
-rw-r--r--  1 root root 360352 Apr 18 15:31 u-boot.img
-rw-r--r--  1 root root 360352 Apr 18 15:31 u-boot.img.flash
drwxr-xr-x 10 root root   4096 Nov  6 10:34 usr
drwxr-xr-x 11 root root   4096 Nov  6 10:34 var
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       30545420 4254432  24732692  15% /
devtmpfs          505336       0    505336   0% /dev
tmpfs             514040       0    514040   0% /dev/shm
tmpfs             514040   51908    462132  11% /run
tmpfs               5120       0      5120   0% /run/lock
tmpfs             514040       0    514040   0% /sys/fs/cgroup
tmpfs             102808       0    102808   0% /run/user/0
/dev/sdb1       30670788 1006592  28099528   4% /media/P1
/media/P1/u-boot.img: u-boot legacy uImage, U-Boot 2016.11-00241-g0c5e26e fo\276, Firmware/ARM, Firmware Image (Not compressed), 360288 bytes, Sat May 13 06:36:28 2017, Load Address: 0x80008000, Entry Point: 0x00000000, Header CRC: 0x37BB88D8, Data CRC: 0x9DF2B74B
/dev/sdb1 = rootfs: 47259/1957888 files (5.2% non-contiguous), 407295/7823344 blocks
root@letux:/tmp/test#
The pandora (600MHz) boots but yes, there is only a black screen. Not even a blinking cursor.
Console log shows it boots fine and there is even a /dev/fb0.
Code:
root@letux:~# uname -a
Linux letux 5.4.188-letux+ #9063 SMP PREEMPT Tue Mar 29 08:55:41 CEST 2022 armv7l GNU/Linux
root@letux:~# ls -l /dev/fb0
crw-rw---- 1 root video 29, 0 Apr 18 15:47 /dev/fb0
root@letux:~#
But no X11 running. Most likely there got something wrong in the display driver.
And/or the 3D SGX driver is in conflict.
I'll try to fix it when I find time.
 
Hi again,

I just downloaded that autoboot.txt file at the root of my /dev/sda1 partition (rootfs).

Cheers, Magic Sam
 
I have found the problematic change. It was backported and introduced after letux-5.4.43. AFAIR it is not a problem in newer kernels (e.g. 5.10, 5.15).
Next I have to think how to fix it... Because it was added for an also good reason.
 
It seems as if it is a patch to fix a slow frame-rate issue with the 3D GPU on the Pyra.
Which appears to have negative side-effects on the OpenPandora.
For some unknown reason we did not forward-port this to kernels newer than 5.7 and it is no issue on 5.10.
Hence nobody noticed when testing the OpenPandora with more recent kernels...
Solution is still open since fixing the slowness issue on the Pyra is also important.
 
It appears to be an issue in the pvrsgx driver which likely manifests iself only on the omap3530 but not on dm3730 nor omap4/5.
Background: there is a register section called "OCP" which seems to be not available or hidden on omap3530. It is written to if SGX interrupts are enabled - and there they need to be enabled to achieve high frame rates. At least on OMAP5.
The open question is if we can find out how to access the registers (which even the linux-omap developers could not) or if we disable these write commands only for the omap3530.
 
The open question is if we can find out how to access the registers (which even the linux-omap developers could not) or if we disable these write commands only for the omap3530.
Why is this so hard to access those registers ? Are they not properly documented by TI ?
Then I guess the easy way out is to "simply" disable the write commands on our SOC :)

Cheers, Magic Sam
 
Why is this so hard to access those registers ? Are they not properly documented by TI ?
Then I guess the easy way out is to "simply" disable the write commands on our SOC :)
The registers are only (not very well) documented for dm3730 but not at all for omap3530. I.e. they may not even exist. Nobody seems to know (and it is a more than 15 years old chip design, so many of the chip designers may be retired now). If you are interested in details, there only think I really know is this comment about the "OCP" registers: https://git.kernel.org/pub/scm/linu...git/tree/arch/arm/boot/dts/omap34xx.dtsi#n152 Maybe these registers exist but are write-only?

But good news: I have found a fix that was already applied to letux-5.6. But not backported to letux-5.4. Basically it fixes a bug in the device tree file where the size of this register block is defined as 16kB and not 64kB. This made the register range not accessible.

So in summary there are now solutions for all kernel variants. I just have to fix them in the kernel source tree and by next letux kernel rebuild (usually beginning of each week) they will become active. If you then build a fresd SD card with makesd it should boot. At least to a blinking cursor with "login:". For some reason X11 does not start... Something very different is wrong in the config.

PS: if you want to bake some xcfe4 (not configured) please use this command (I have added a keyword "pandora-auto" to directly install the autoboot.txt file):
Code:
./makesd -u
./makesd pandora-auto -r xfce4
 
Hi all :)

Thank you @hns for your hard work on Letux OS, really appreciated !

Pretty scary (IMHO) to think that we have lost valuable knowledge about some piece of technology in a mere 15 years...

I really wonder what will be left for future historians and archeologists.

Regarding XFCE4, it is not listed (yet) in the documentation:


How many DEs are supported by Letux OS ? Are there MATE or LXQT images available ?

Cheers, Magic Sam
 
Good news: I have found the issue with X11 setup. It was that the default xorg.conf used "omap_drv" which is an old backend driver of Xorg. It was removed in Debian Stretch so that it is not available.
A simple update of the xorg.conf made it work.

And, I have manually started the rebuild and upload to the server so that
Code:
./makesd pandora-auto -r xfce4
new creates an SD card that really boots into some basic Xfce. Please try!

Seems to be a little slow, but working. You can walk through the file system, run some default applications, open the Terminal etc. The WebBrowser reports "failed to execute"... And of course several windows are too large so that important buttons go beyond the screen.
Anyways a good starting point for additional configuration. Some proposal: go to Applications > Settings > Appearance > Font Tab > select the Size: text field and choose size "3" (touch and keyboard works).

Regarding other desktops like Mate or LXQT we try to build some combinations as prebaked root file systems. But you can try everything which is available in the Debian repositories (ideally you ssh over RNDIS/Ethernet gadget to the USB/OTG port into the device and run apt-get install commands). What we do not have is a full documentation of all variants of the makesd command. This feature is a little neglected (the LetuxOS team is too small to keep this all up-to-date).
 
Hi @hns,

Your site appears to be down at the moment: http://projects.goldelico.com/p/letux/

On a side note, I gave XFCE4 a quick go this afternoon and I can confirm it works :)

Some issues I noted:

- Touchscreen calibration tool didn't work correctly
- Is WiFi working in Letux OS ?
- The OS mounted the NAND several times, filling the screen up with drive icons

Cheers, Magic Sam
 
I am stuck with ## Executing script at 82000000 after trying makesd
Is the SD card probably not compatible?
 
I did ./makesd pandora -r xfce4
(So the default 5.4 Letux Kernel)
I have the Gigahertz Pandora but I can try newer Kernels, or other SD Cards
 
I did ./makesd pandora -r xfce4
(So the default 5.4 Letux Kernel)
I have the Gigahertz Pandora but I can try newer Kernels, or other SD Cards
Hm. That sounds correct.
Well, there seems to be issues with the 1GHz Pandora.
Difficult to debug without either an 1GHz unit or a serial console...
 
Back
Top