I’ve been using Lubuntu installed over the Ubuntu Server image with pretty good results. It does most of what I want, even if it’s not as slick as Mate, which can be installed thew same way. I found both Mate and my beloved Xubuntu to be a little too heavy for Le Potato. I might try Mate out as my daily driver now that I’ve tried it on this board. I miss the old gnome.
Here’s what I done:
I flashed ubuntu server to eMMC with Etcher, booted up and did the new password mumbo-jumbo.
I then connected via Ethernet, and ran:
I haven’t used anything past snow leopard, but back then there was a disk utility you could flash drives with too, may still be there if you want a GUI.
I tried this method because my system was finding the mmcblk0 device. It copied an image of the 2023-05-03-raspbian-bullseye-arm64-lite+aml-s805x-ac.img.xz to my AML-S805X-AC, but after booting I get a “No Partition table - mmc 0” then “device 0: unknown device”
Any ideas about how to fix the partitioning on the eMMC?
I just got my eMMC working with my AML-S905X-CC and have some comments.
I tried to use
sudo pyamlboot/run.sh aml-s905x-cc ums-emmc
but was getting the timeout even though I was on a Intel(R) Core™ i5-2400 CPU @ 3.10GHz runninb Debian 11. It turned out this was because I had plugged into my USB3 card. When I plugged directly into the Intel motherboards USB, it worked great! It got me wondering that perhaps if you have an AMD computer you could reverse the situation with a non-AMD USB board, you might be able to work around the AMD timeout problem.
I was able to install debian-12 along with gnome and get the gui to work by running sudo tasksel. It turns out that since the board is based on Wayland because of framebuffer efficiency, xfce is not supported (yet?) and startx won’t come up. gnome came up fine.
With my install on an SD card, i was able to install a system on the eMMC by running the SD os. I downloaded on of the images to the Downloads and then ran:
This gets rid of your boot/EFI partition and some of the root partition. It should be enough to make the board ignore the eMMC when you poweroff and reboot with an SD card in place. You will get errors after it gets into zeroing the root partition so when you get that, just unplug the board. This part is a bit crude and I suppose we could add a count= parameter to dd. I have not tested the minimum about you need to zero to get the AML-S905X-CC to boot from the SD card.
Silly me!. I should have realized count=1 was sufficient. I got focused on zeroing out the whole eMMC. If I really wanted to that, it would be better to wipe our sector 0, boot from my SD card and then zero out the eMMC booted from the SD. That would make the whole process a lot cleaner.
BTW, I prefer xfce over gnome. Does anyone have an idea when xfce might work with debian 12 on Libre AML-S905X-CC?
I suppose this is a little off topic but I finally got xfce to work. The trick is that I must use gdm as my display manager and not lightdm. My steps were:
sudo apt clean; sudo apt update; sudo apt upgrade -y; sudo apt autoremove -y
sudo apt install gdm3 xfce4 xfce4-goodies
sudo systemctl set-default graphical.target
<< reboot >>
I got a prompt as to whether to use lightdm or gdm and I chose gdm.
I think the problem I had before was having chose lightdm.
I’ve encounter an error while trying to flash the eMMC, I can’t mount as virtual flash drive nor delete user partition due to the next error:
Sweet Potato
Libre 16GB eMMC
~$ sudo pyamlboot/run.sh aml-s905x-cc erase-emmc
Using GX Family boot parameters
ROM: 2.4 Stage: 0.0
Writing /home/robert/pyamlboot/files/libretech-cc/u-boot.bin.usb.bl2 at 0xd9000000…
[DONE]
Writing /home/robert/pyamlboot/files/usbbl2runpara_ddrinit.bin at 0xd900c000…
[DONE]
Running at 0xd9000000…
[DONE]
Waiting…
[DONE]
ROM: 2.2 Stage: 0.8
Running at 0xd900c000…
[DONE]
Waiting…
[DONE]
Writing /home/robert/pyamlboot/files/libretech-cc/u-boot.bin.usb.bl2 at 0xd9000000…
Traceback (most recent call last):
File “/home/robert/pyamlboot/./boot.py”, line 132, in
usb.load_uboot()
File “/home/robert/pyamlboot/./boot.py”, line 87, in load_uboot
self.write_file(os.path.join(self.bpath, self.BL2_FILE), self.DDR_LOAD, large = 64)
File “/home/robert/pyamlboot/./boot.py”, line 63, in write_file
self.dev.writeLargeMemory(addr, b, large, fill)
File “/home/robert/pyamlboot/pyamlboot/pyamlboot.py”, line 241, in writeLargeMemory
self._writeLargeMemory(address+offset, data[offset:offset+writeLength],
File “/home/robert/pyamlboot/pyamlboot/pyamlboot.py”, line 215, in _writeLargeMemory
self.dev.ctrl_transfer(bmRequestType = 0x40,
File “/usr/lib/python3/dist-packages/usb/core.py”, line 1082, in ctrl_transfer
ret = self._ctx.backend.ctrl_transfer(
File “/usr/lib/python3/dist-packages/usb/backend/libusb1.py”, line 893, in ctrl_transfer
ret = _check(self.lib.libusb_control_transfer(
File “/usr/lib/python3/dist-packages/usb/backend/libusb1.py”, line 604, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 19] No such device (it may have been disconnected)
I made sure to hold the boot button.
I added a 5W power supply to the USB C port
No dice
We recommend programming eMMC from Linux as it’s the fastest method. u-boot is a limited OS so it’s relatively slow. The USB device mode port is also the power port on Alta.
The second one. pyamlboot method was one of the older methods. The Linux method is the current one. We will eventually have an even faster way of flashing but it’s not ready yet.
Depending on what you measure as ‘faster’, these are the 2 methods that I can see:
M1: update via linux
flash new OS to uSD card
erase eMMC boot block to force uSD boot
2a. if eMMC is bootable but unusable (aka raspbian12), use uboot button instructions to pyamlboot/run.sh aml-s905x-cc erase-emmc
boot uSD
flash new OS to eMMC
M2: update via pyamlboot
use uboot button instructions to pyamlboot/run.sh aml-s905x-cc ums-emmc
flash new OS to eMMC
M2 might take longer to write, but only involves writing once. M1 involves writing twice, even if it is faster each write, I’ve found is slower overall.