Hi,
Am 15.09.2016 um 23:08 schrieb aTc atc@k-n-p.org:
Hi,
since i've been having quite some problems getting the pyra to run without locking up constantly, could you give me a link (or a working makesd config) to a known working SD card image for my pyra prototype.
Some option would be that I dd a copy of my latest SD card and make it available for download. But I currently have no Pyra hardware to check which SD card is really the latest and working for me... And uploading/downloading GBytes takes some time (although my server has ca. 8Mbit upstream).
makesd is too flexible... Hence the documentation is not complete what it can do. We should some time find someone to work on improving documentation (could easily become its own O'Reilly booklet)...
The problem is that it is sometimes easier to look into the source to know the parameters...
http://git.goldelico.com/?p=gta04-makesd.git;a=blob;f=makesd
I did try making one with the makesd script, but all the "latest" links seems to have been last updated 5 months ago,
Well, there was no need to update u-boot (last update was indeed in April 2016) or the rootfs (apt-get update && apt-get upgrade will get latest jessie assuming network connection on the device). All changes and attempts to make the Pyra work were kernel related. 5 months work of kernel stabilization...
But if you just tried yesterday, I was in the middle of updating the debian rootfs images to Jessie 8.5.
and I get an image with a 4.6.0 kernel.
This is indeed the current default for the latest kernel installed by makesd and there have been a lot of important fixes and improvements since its release.
I will explain how you can bake a card with a different kernel or rootfs:
DEV=/dev/sdd ./makesd pyra+lc15
"pyra+lc15" installs everything "latest" for the Pyra and defaults to lxde [should probably be renamed to pyra-lxde or something] "pyra" would install everything "latest" and fetch http://packages.pyra-handheld.com/rootfs/pyra-debian-jessie-xfce-rootfs.tgz but rootfs config might not match kernel
All defaults and "latest" can be overwritten (I could not test if it really works). For a different kernel (on a dual-partition SD card):
DEV=/dev/sdd ./makesd pyra+lc15 -f1 -k letux-4.8-rc6 -d letux-4.8-rc6 -f2 -m letux-4.8-rc6
"pyra+lc15" is a macro that expands roughly into: "make two partitions, install latest boot loader for Pyra with LC15 CPU-Board, install latest kernel and latest LXDE (default)". "-f1" means "go back to first partition (FAT where uImage is stored) for the following commands" "-k letux-4.8-rc6" means "replace latest kernel by letux-4.8-rc6 to be fetched from default download server location" "-d letux-4.8-rc6" means "replace latest device tree by letux-4.8-rc6 to be fetched from default download server location" "-f2" means "go to second partition for the following command" "-m letux-4.8-rc6" means "replace latest modules by letux-4.8-rc6 to be fetched from default download server location"
Default download server location is http://download.goldelico.com/letux-kernel
Let's assume you want (default configured) xfce4 instead of lxde:
DEV=/dev/sdd ./makesd pyra+lc15 -f2 -r xfce
"-f2" means "go to second partition" "-r xfce" means "replace latest lxde by latest xfce4 to be fetched from default download server location"
Default download server location is http://download.goldelico.com/letux-debian-rootfs/
A specific version (the one which was latest until yesterday) could be selected by
DEV=/dev/sdd ./makesd pyra+lc15 -f2 -v 20151024-jessie-8.2 -r xfce"
Since all parameters to ./makesd build up a configuration parameter set for all partitions, they can be combined and the last settings will finally be used to bake the SD card.
So I would recommend to do:
DEV=/dev/sdd ./makesd pyra+lc15 -f1 -k letux-4.8-rc6 -d letux-4.8-rc6 -f2 -m letux-4.8-rc6 -r xfce
If you want to try the same kernel on EVM please do (this is something I have verified some minutes ago - and noticed there is an issue with X11 config but you can login as root (empty password) through FT232 port):
DEV=/dev/sdd ./makesd omap5432evm -f1 -b OMAP5432-uEVM/2016-05-10 -k letux-4.8-rc6 -d letux-4.8-rc6 -f2 -m letux-4.8-rc6 xfce
I also don't know which .dtb to use on this one, since there are quite a few to choose from, and i'm also not sure about which lcd panel config this one needs.
What I do during development is to patch a new kernel + modules + dtb over an existing SD card image by manual copy (or mostly automated by a script) of the latest built uImage and /lib/modules.
So you could also download files from http://download.goldelico.com/letux-kernel and expand on your SD card. Please expand also the config.tbz since it contains the Letux/root and Letux/etc files which are tied to a specific kernel release. The bootargs.scr can be ignored for OMAP5 (they are a relict for old boot loaders on GTA04).
The device tree binary loaded by U-Boot is defined in uEnv.txt in the boot partition (first).
Now let me explain how the plethora of (latest) DTBs are organised.
http://download.goldelico.com/letux-kernel/letux-4.8-rc6/ has a device-trees.tbz
This package contains the following omap5 device tree binaries:
omap5-letux-cortex15+pyra.dtb -- this is the one to use for the current prototypes (means Pyra PCBs V5.0) omap5-letux-cortex15-v4.9+pyra.dtb -- this is for the V4.9 CPU + Mainboard (old) omap5-letux-cortex15-v4.9.dtb -- this is for the V4.9 CPU standalone (old) omap5-letux-cortex15-v5.1+pyra-v5.1.dtb -- this will be for the first mass production version (there will be minor changes to be reflected by DT) omap5-letux-cortex15-v5.1.dtb -- this will be for the first mass production version (there will be minor changes to be reflected by DT) omap5-letux-cortex15.dtb -- this is for the V5.0 (current prototypes) standalone (i.e. if not mounted on a Pyra main board) omap5-uevm+pyra4+boe.dtb -- this is for the BOE panel connected to an uEVM (old) omap5-uevm+pyra4+lg.dtb -- this is for some LG panel connected to an uEVM (old) omap5-uevm+pyra4+ssd+boe.dtb -- this is for the BOE panel connected with SSD2858 to an uEVM (old) omap5-uevm+pyra4+ssd+succ.dtb -- this is for some Success panel connected to an uEVM (old) omap5-uevm+pyra4+succ.dtb -- this is for some Success panel connected with SSD2858 to an uEVM (old) omap5-uevm+pyra4.dtb -- this is for a Pyra4.9 mainboard to an uEVM (old) using the panel-mipi-debug driver omap5-uevm-broken+pyra4.dtb -- a variant of previous where some i2c has been replaced by a bit-bang gpio driver omap5-uevm.dtb -- pure uevm.dtb as by linus/master
So you should use omap5-letux-cortex15+pyra.dtb and make sure that the uEnv.txt in the boot partition does choose it. This DTB will reference the panel-mipi-debug driver and some shell script (/root/ssd2858) is used to set-up the ssd2858 by the X config.
./makesd pyra+lc15
should set up this combination of boot loader, uEnv.txt, DT and xinitrc patch to start /root/ssd2858 automatically.
Of course we can get rid of the older things soon - I just bundle/publish them to keep the older prototypes running as good as possible for doing comparisons. Especially the pyra4 and different panel things can be removed since nobody besides me (maybe ED and notaz) still uses such a hardware.
Hope this mail is a good reference for the current situation.
That way i'd at least know if the problems i'm seeing are just part of the prototype, or part of my messing about with kernels/u-boot/xorg configs/etc.
Yes, that would be good for debugging.
Phew. This became quite a lot of material and it took me two hours to prepare and review.
But it took me much longer to build up this expertise (by doing many mistakes) and we definitively have to exchange and spread this information to more people.
Please let me know if it works or does not work or questions arise.
BR and thanks, Nikolaus