Main features: * Based on Ubuntu 18.04 * Mate desktop environment * Linux version is 4.1.15 * U-Boot version is 2015.04 * iMX firmware v6.0 and Vivante GPU X11 acceleration v6.2.2 * WiFi firmware updated * UDOO services ported to systemd Hardware support: * UDOO Quad and Dual with all built-in devices Known issues: * currently none The images are (almost fully) untested! Please note, this is a bleeding-edge community OS for UDOO. It comes without any kind of warranty, so it is recommended only to experienced users. Using it, your board may be kidnapped, burnt or ate by dark kittens, or it may just produce magic smoke and flames. Use it at your own risk! In order to keep the forum clean, please ask questions about this OS only inside this thread. Keep in mind this image is not supported nor provided by the UDOO Team. Support tickets opened about this images will be discarded. Download: * 4.0 Beta 1 Minimal * 4.0 Beta 1 Desktop
Is it possible to outline the steps needed to allows users to do this? ie Bring up a new version of any OS? Or in particular Ubuntu, if the steps are not universal. Thanks!
Hi, in order to get there there are a lot of steps. Maybe one day I will publish an article. In the meanwhile, here it is an outline: 1) make the board boot This varies among the architecture (x86, ARM, ..) and the specific platform (UDOO Neo, Quad, ..) The boot process is about loading the operating system after you power on the hardware. On ARM, 99% of the times is about building a bootloader like U-Boot. The bootloader sets up the hardware, loads the Linux kernel and jumps on that. What did I do: bootloader was already there, I changed the way to load the Linux kernel (it changed since the official 14.04, mostly because now the SD card has only ext4 partitions since recent dpkg versions will refuse to work on non-safe partitions like FAT) 2) build a kernel Again, there is a huge difference between x86 and ARM. On the first there is UEFI/ACPI tables/DMI/whatever that sets things up nicely, so you can use just one kernel on totally different x86 machines. On ARM there is a lot of.. "freedom". You need to write the device tree accordingly to the hardware, and patch the kernel to start all the devices correctly. What did I do: starting from the NXP kernel 4.1, I applied the patches needed (some developed in the 3.14 era, other found online, others tinkered by me) and updated the device tree to work with Linux 4.1 3) create a filesystem Once you have a bootloader and kernel/dtb, you can potentially start "any" filesystem. It may be Ubuntu, Fedora, Centos, ... Basic things will work out of the box - eg, you will probably get a login prompt without further work. If you want more advanced features (eg. GPU acceleration in the desktop) you may need to hack something. For instance, on the iMX6/8 you will need to rebuild libdrm, the xorg, then mesa, then install the Vivante blobs. You may also want to setup some firmware, for instance to use the DMA, or the Wi-Fi, or whatever. What did I do: I updated the mkudoobuntu tool, developed in the Udoobuntu 14.04 era, to deboostrap and "correctly" (whatever it means) configure the 18.04 distribution. I also compiled/recompiled some packages to fix broken things (eg. Arduino IDE, x11vnc) or setup platform-specific stuff (eg. udev rules). I also republished packages published by someone else to provide some specific feature (eg. Vivante GPU) That's basically 1% of the story. If you want to prepare your own distribution, it is not impossible even without experience. Set your target to a command-line console first, then switch to un-accelerated GUI, then eventually get GPU acceleration. If you start from my bootloader/kernel/dtb the hardest part it's already done.
Thank you very much! If you get the time and inclination, I look forward to your more detailed write-up.
Im very excited by this, as i hope one of the things fixed in this version is my problem with installing arduino ide 1.8.5 or whaterver i needed for mye 3d printer firmware. I have managed to boot into this, but all i had was 2 icons on a Black background, i guess, i have install the other stuff myself? I couldnt Even find the terminal, so i light be over my head allready
Cant seem to edit my own post, so forgive me for the double post... I spoke abit too soon on my troubles, after abit of googling i got a gui, and so far it seems to work for my use atleast... (RepRap 3d Printer) Will try further testing tonight, with flashing firmware to the arduino etc!
Thank you so much for the image! I was getting very desperate trying to compile QT5 for an older UDOObuntu build^^ One thing: The touch portion of the LVDS panels for the QUAD are not working right now. Is there any particular reason as to why? It seems that the module is just missing from this image. Honestly I am far from an embedded systems expert so I am kind of stuck at this point now. Cheers!
Hi, I do not work anymore for UDOO, and I have no access to a Quad/LVDS screen to reproduce the issue. There are several things to be verified for who has the hardware and the skills: - are the kernel modules enabled? - are the configuration files correctly placed and adequate for 18.04? - is the device tree correct? Francesco
Hi! Sorry for not updating the post. A more experienced friend of me found a way to fix the touch screen. The kernel module was present but X11 was not configured to use it. I will come back for more details on this in a few days (as well as I can with my limited knowledge). Thank you again for the reply!
This is awesome work! Do you, by any chance, have a repository with all files required to build this image? I would love to be able to tinker with your release.
Hi Francesco, Great work! Is the source available for this build? /media/francesco/Incoming/linux_kernel4 I am trying to do some device driver work and I need the source, please. Thank you for your consideration. Joe
Hello, I tried this image (desktop) here are my problems: 1- I had experience with the wifi problem. The password prompt window wasn't appearing on the screen. 2- When I reboot it, the system didn't start and have black screen. When I use udoobuntu 14.04 - everything works fine. In november 2019 - 14.04 is end of cycle and do you think that it is safe to use?
Is 18.04 working well in your case? Or do you use something different? What's your experience with 18.04? When I reboot 2-3 time, I got black screen..
Dear Abektes, this RC lacks visual feedback, please let it run its course and be patient for a few reboots, as they will take a while. We're here should you need anything though
udooer@udoo:~$ udooer@udoo:~$ uname -a Linux udoo 5.4.23 #1 SMP PREEMPT Fri Mar 6 09:01:18 EST 2020 armv7l armv7l armv7l GNU/Linux udooer@udoo:~$ udooer@udoo:~$ ifconfig eth0 Link encap:Ethernet HWaddr 00:c0:08:90:01:23 inet addr:172.16.99.52 Bcast:172.16.99.255 Mask:255.255.255.0 inet6 addr: fe80::2c0:8ff:fe90:123/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10022 errors:90 dropped:0 overruns:90 frame:0 TX packets:5694 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:10490033 (10.4 MB) TX bytes:662297 (662.2 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:60 errors:0 dropped:0 overruns:0 frame:0 TX packets:60 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5632 (5.6 KB) TX bytes:5632 (5.6 KB) udooer@udoo:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 13G 4.7G 7.4G 40% / devtmpfs 342M 4.0K 342M 1% /dev none 4.0K 0 4.0K 0% /sys/fs/cgroup none 101M 176K 101M 1% /run none 5.0M 0 5.0M 0% /run/lock none 502M 0 502M 0% /run/shm none 100M 0 100M 0% /run/user /dev/mmcblk0p1 958M 142M 816M 15% /boot tmpfs 20M 0 20M 0% /gpio tmpfs 20M 0 20M 0% /sensors udooer@udoo:~$ date Fri Mar 6 15:35:31 EST 2020 udooer@udoo:~$ mount /dev/mmcblk0p2 on / type ext4 (rw,noatime) none on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) devtmpfs on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on /sys/fs/cgroup type tmpfs (rw) none on /sys/kernel/debug type debugfs (rw) none on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) /dev/mmcblk0p1 on /boot type vfat (rw,noatime) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) tmpfs on /gpio type tmpfs (rw,size=20m) systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd) tmpfs on /sensors type tmpfs (rw,size=20m) udooer@udoo:~$ udooer@udoo:~$ udooer@udoo:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 14.6G 0 disk ├─mmcblk0p2 179:2 0 12.8G 0 part / ├─mmcblk0p3 179:3 0 958M 0 part [SWAP] └─mmcblk0p1 179:1 0 958M 0 part /boot udooer@udoo:~$ udooer@udoo:~$ startx The program 'startx' is currently not installed. You can install it by typing: sudo apt-get install xinit udooer@udoo:~$
U-Boot SPL 2020.04-rc3-00037-g8aad169-dirty (Mar 04 2020 - 02:03:18 -0500) Trying to boot from MMC1 U-Boot 2020.04-rc3-00037-g8aad169-dirty (Mar 04 2020 - 02:03:18 -0500) CPU: Freescale i.MX6Q rev1.3 at 792 MHz Reset cause: POR Board: Udoo Quad DRAM: 1 GiB MMC: FSL_SDHC: 0 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: using phy at 6 FEC [PRIME]