@bodhi I'm not sure if this info may be of any use to you, but I tried (with a minor success) to repeat steps @karrelax performed here https://forum.doozan.com/read.php?2,63499,132998#msg-132998. I downloaded Dell_Wyse_USB_Imaging_Tool_2.1.4 from this site https://technicalhelp.de/downloads/ (unfortunatelly, the official Wyse website is down for good). I used it to create the "recoveby ksuszka - Debian
I connected my terminal through HDMI grabber and I captured various WLoader screenshots in the original resolution after the factory reset, during and after switching to the linux boot mode, with and without bootable usb connected. I attach them here for a reference. @bodhi It seems that WDM used in various parts of WLoader setup stands for "Wyse Device Manager" and it is a softwaby ksuszka - Debian
AFAIK all 4 USB ports are working the same. And yes, you won't see anyting besides "Loading" text even if it boots successfully. I attach photo of my screen when it is booting from eMMC. As I set different label on my eMMC's rootfs partition I could use this screen to easily distinguish which partition it tried to boot from. But it stays at this screen regardless if it booby ksuszka - Debian
Sorry, I didn't catch what you were asking for. So as far as I know the answer is no, you cannot install linux from the usb drive in the headless mode because if you reset the device to factory settings (and I assume that for most users the seller will reset the device before sending it) it changes the boot mode to WNOS and puts HardDisk as the first boot device. So by default it always bootby ksuszka - Debian
@bodhi TL;DR How to permamently boot linux from USB drive Go to WLoader Setup, switch to Boot Order tab, move USB to the top, clik OK, save settings, reboot. TL;DR How to permamently boot linux from internal eMMC drive Install linux on eMMC drive with the same parition structure and content as on the USB stick. Switch WLoader's boot mode to linux: Go to WLoader Setup, switch toby ksuszka - Debian
Quotebodhi I did not see Wifi in the log. Perhaps I need to do more configuration for it. that is most like due to the fact that both my units came without wifi modules. As I gathered from images of the inside of various versions of those terminals from the internet there is no wifi builtin on the main board but it is provided in some units by an extension card. See this picture: wyse 3020 witby ksuszka - Debian
@bodhi yes, I've installed it on the usb stick and it seems to be booting just fine. Great job! Here is the boot log for reference: [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.8.7-mvebu-tld-1 (root@tldDebian) (gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT Thu Apr 18 14:14:32 PDT 2024 [ 0.000000] CPU: ARMv7by ksuszka - Debian
@Max, you can use fdisk, sfdisk, parted and probably a dozen other command line partition tools. You also need mkfs.ext3 and mkfs.vfat to make file system. Also e2label may be useful to change partition label (however you can do this also with parition tools). You can use @mmm script mentioned before as a reference. It is doing partitioning using sfdisk.by ksuszka - Debian
What do you mean by internal bootfs partition? AFAIK vfat driver is in the kernel deb file so if you installed kernel image with dpkg command it should be present. Try: modprobe vfat find /lib/modules/6.5.7-mvebu-tld-1/ -name '*vfat*'by ksuszka - Debian
It is basically the same as with the usb stick. So you can copy everything from your bootable usb stick bootfs partition to the bootfs partition on the mmc, but first you need to make sure that mmc_block module is in initrd file on this boot partition because without it it will start booting and then it will fail as it won't be able to read the rest of the system from mmc. Next you need tby ksuszka - Debian
Max, we missed one important link with a vital piece of info - the post with generic instruction on how to install debian on those embedded machines. There is a section about installing custom version of kernel on top of existing rootfs. One step you probably missed is to install kernel deb package inside an os booted from usb stick. This is most likely the reason you don't have additional kby ksuszka - Debian
Unfortunately, the current version of the debian kernel from this site does not support video output at all. So don't expect working video output even if you manage to boot linux sucessfully. As far as I know there is no working DTS file which supports video output available publicly. So the first thing to do after boot is to check if your router (or whatever dhcp server you are running)by ksuszka - Debian
wLoader is the bootloader installed on this terminal. Here is some basic info about wLoader: https://linux-mmp.docs.kernel.org/dell-wyse-3020.html. Keep in mind that it is rather old article so you should use it just as a guideline and use commands/files content from bodhi's post instead.by ksuszka - Debian
Unfortunatelly, there is still a kernel panic: *** FlashNumber... Code: : *** Loading Next Image... *** Loading Next Image... *** Set Partition for Image... *** Validate Image... *** GPIO_14, GPIO_13 both low ... Controller1 DDR size reg is 0xE ... *** Your OBM Boot Test Successes ... *** Shutting ports and transferring control ... 123ABC 12345 [ 0.000000][ T0] Booting Linby ksuszka - Debian
@bodhi I installed latest 6.7.5 kernel on top of 6.6.2 rootfs but it doesn't boot. There is a kernel panic which looks similar to when I tried 6.6.2 kernel: *** FlashNumber... Code: : *** Loading Next Image... *** Loading Next Image... *** Set Partition for Image... *** Validate Image... *** GPIO_14, GPIO_13 both low ... Controller1 DDR size reg is 0xE ... *** Your OBM Boot Tesby ksuszka - Debian
@bodhi I'm not sure if I understood correctly. Should we test it with released kernel 6.5.7 and only modified kernel boot params or something else should be changed? If it is the first case then I attach two logs, from two boots which differ only in kernel boot param. In both cases the behaviour of dumping mtd is the same - every second dump works. EDIT: But I've just remembered,by ksuszka - Debian
@mmm If you want to give it a try here are firmware dumps from two my machines: https://www.dropbox.com/scl/fo/lbdc11bdq0829jzz5gv8y/h?rlkey=21omkr7q1unsb2bqfmd6m87ww&dl=0by ksuszka - Debian
Just for reference I took photos of both Winbond chips visible after taking off the top cover. The first one is located near the main heatsink and this is the one I read with an external programmer and confirmed the content to be the same as read from /dev/mtd0. The second one is located far from the heatsink and unfortunately I wasn't able to make my programmer work with it (probably crappyby ksuszka - Debian
root@debian:~# flash_unlock /dev/mtd0 flash_unlock: error!: could not unlock device: /dev/mtd0 error 95 (Operation not supported)by ksuszka - Debian
I've attached two files. The first one is from my first terminal, It's a bit longer as I already switched to systemd and configured it as wireguard gateway there. The second one is from my second terminal which I convered to debian yesterday, it is rootfs 6.6.2 with kernel 6.5.7 (both downloaded from this forum) with /etc/initramfs-tools/modules updated and initrd regenerated. Both tby ksuszka - Debian
@mmm yet another idea to try, reset to zero state and move by small incremental changes: - revert to previous content of mmc and reset WLoader to boot whatever was previous there, make sure that ThinOS or whathever you had starts - open Boot Order page and select HardDisk and check if URL field is populated (should be) - go to Setting, set Kernel Image to uImage and force reboot to force switcby ksuszka - Debian
@mmm additional thing that comes to my mind. Can you check what do you have in mmcblk0boot0/mmcblk0boot1 partitions? maybe their content confuses WLoader? As far as I can tell mine are completely empty (filled with zeros) root@debian:~# dd if=/dev/mmcblk0boot0 bs=4096k conv=sync | gzip -c | wc 1+0 records in 1+0 records out 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.37388 s, 11.2 MB/sby ksuszka - Debian
I used the first part of your original script on /dev/mmcblk0 device in my machine. I needed to alter it a little bit as there is an additional p letter before partition number. After that I noticed that your script doesn't set boot flag, but even without it when I rebooted machine and opened Boot Order page and select HardDisk then I can see URL field filled. I didn't even put any fileby ksuszka - Debian
@mmm I just noticed something interesting. When you go to WLoader Boot Order page and you focus on the device there is the URL field at the bottom and it shows if WLoader found a viable partition there. You can see on my screenshot that I've got HardDisk selected and there is "D:/;" on it. On my second box I don't have anything interesting on the eMMC at the moment and this fiby ksuszka - Debian
@mmm I took photos of various pages of WLoader settings on my machine. Unfortunately, there is a limit here to what I can attach so I shared it through google drive: https://photos.app.goo.gl/Hxo3LPDaUAvnLuHU7 I'm not sure what "Citrix Receiver" is so probably I don't have one ;) The structure of the eMMC looks similar to what I had before erasing it. And if you downloadby ksuszka - Debian
@bodhi It seems that only mmc_block is required to boot from emmc. @LegacyObj you need a laptop/PC with USB to UART adapter. They can be bought for less than $1 on aliexpress: https://www.aliexpress.com/w/wholesale-usb-uart-adapter.html. I use the one with CH340G chip. Next you need to open top cover of the Wyse 3020 and connect two pins of CN4502 connector on the motherboard to this adapter.by ksuszka - Debian
@LegacyObj for running sytem from the flash drive the script prepared by @mmm contains all required steps: https://forum.doozan.com/read.php?2,134563,136664#msg-136664. rootfs package 6.6.2 with kernel 6.5.7 is a combination that seems to work. However it is highly recommended to connect a serial console to see what is happening as without it if it doesn't start you will not know why.by ksuszka - Debian
@mmm I updated my eMMC to kernel 6.5.7 using the method described by bodhi, I added missing modules to /etc/initramfs-tools/modules and then run commands similar to: KERNEL_VERSION=6.5.7-mvebu-tld-1 # install kernel deb files dpkg -i linux-*-${KERNEL_VERSION}_1_armhf.deb # update initramfs - previous command should already perform this, but better safe than sorry update-initramfs -k ${by ksuszka - Debian
@bodhi I've just noticed that I repeatedly misspelled your nick. I sincerely appologize for it. Just an explanation, in polish there is a name spelled "Bohdan" and "bohdi" is a word one could use if he tried to use it in English and make it sound less formal. So I read it that way as it sounded familiar.by ksuszka - Debian
Additional sync doesn't change this behaviour: root@debian:~# dd if=/dev/mtd0 of=mtd0.bin bs=4096k conv=sync ; sync ; gzip mtd0.bin -c | wc 1+0 records in 1+0 records out 4194304 bytes (4.2 MB, 4.0 MiB) copied, 5.95483 s, 704 kB/s 0 1 4107 root@debian:~# dd if=/dev/mtd0 of=mtd0.bin bs=4096k conv=sync ; sync ; gzip mtd0.bin -c | wc 1+0 records in 1+0 records out 4194by ksuszka - Debian