Hi,
there is no method described in the manual. I guess many (most?) people interested in an open
hardware development device are using linux.
I hope there are any tools available and the documentation can be extended.
Thanks
Steffen
Hi,
there is no method described in the manual. I guess many (most?) people interested in an open
hardware development device are using linux.
I hope there are any tools available and the documentation can be extended.
Thanks
Steffen
Remember that the RIoT board is targeted specifically for Android development, not mainline linux.
It's also not a truly open hardware design as the actual CAD files are not provided. There are Gerbers available now which allow you to produce an exact copy, but the Mentor/KiCad/Eagle/whatever source files are not available so you can't easily modify it.
There are better choices if you want an open hardware board, for eaxmple the Olimex OLinuXino boards.
However, the user manual has section 5 on how to build linux kernel images and you'll find a linux download on this page RIoTboard
Thanks for the reply. You are right - it's maybe not that open.
I have seen the linux image. My problem is, that i don't see a way to upload it to the riotboards eMMc. The mfg tool is not
running on my linux desktop.
I don't have a board, but can't you just write it to an SD card and boot from that ? Assuming the sizes work out it's probably possible to just dd the image to the eMMC afterwards.
There's no real requirement for the mfgtools, but if you're stuck on doing it that way, you can try https://github.com/boundarydevices/imx_usb_loader which is what's used for other i.MX6 boards. I've used it successfully on sabre-lite
AFAIK you can only boot Linux from the internal eMMC — not from the external.
James Carruthers wrote:
AFAIK you can only boot Linux from the internal eMMC — not from the external.
Where did you get that information ?
The user manual says otherwise (and other i.MX6 systems can boot from varying places)
So once you set the boot switches to SD you can boot whatever you like from SD.
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
It's on Page 44 of the UM that it mentions that Linux currently only boots from eMMC. Though maybe that means eventually it'll have an SD option. As you stated, the chip can boot from either interface, so it seems to be a software configuration thing for Linux.
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
It's on Page 44 of the UM that it mentions that Linux currently only boots from eMMC. Though maybe that means eventually it'll have an SD option. As you stated, the chip can boot from either interface, so it seems to be a software configuration thing for Linux.
anthony_h wrote:
It's on Page 44 of the UM that it mentions that Linux currently only boots from eMMC.
Unfortunately that's so vague as to be pointless.. From a Linux point of view eMMC and SD are identical as they use the same driver. If u-boot can load android from eMMC there's no reason to believe it can't load Linux - since android is based on a linux kernel.
The wording seems strange too "Currently the Linux system on the RIoTboard supports only booting from the eMMC" but as we all know it arrives with Android installed, so 'currently' there is no linux on the board... If there was, it wouldn't be an issue
I'm wondering if what it really means is that the ancient 3.0.35 based image from the download page is brain-damaged enough that it's incapable of doing so. In a different thread there's a devicetree file for the 3.13 kernel which should effectively remove any kernel based obstacles. The only remaining problem would be if u-boot or the ubuntu image have hard-coded something and any of those should be fixable.
It's a pity there's no SPI rom like the Sabre-Lite. A decent version of u-boot in SPI essentially makes it possible to easily boot from anywhere.
anthony_h wrote:
It's on Page 44 of the UM that it mentions that Linux currently only boots from eMMC.
My board arrived at the weekend, so I can now refute the claim made in the UM for certain. Exactly what the manual is referring to in that section on p44 isn't clear, what is clear is that it's either misleading or just plain wrong.
I setup a uSD card today with mainline u-boot (0b2da7e209f4110b7c81d578336a10330e4a4404 from 28th March with the patches mentioned here http://www.element14.com/community/thread/32560/l/mainline-u-boot ) and a 3.14 kernel with madewish patches from http://www.element14.com/community/thread/31675?start=16&tstart=0 and have it booting directly from uSD without problem.
The user manual is also particularly unhelpful, Table 4-3 on page 46 shows "Boot Switch Configuration - SD", technically correct but useless information... The SoC has four SD interfaces, the table shows the config to boot from the full-size SD slot at J6 on the underside of the board. To boot from the uSD (J7 on the top of the board) you have to set D7 On, D8 Off. You'll want to grab IMX6SDLRM from Documentation to work out exactly what the switches do. Start with Chapter 8..
I tried the same way, using the mainstream git sources of u-boot, added the riot patches and uploaded with the MfgTool2.exe. But I'm getting no u-boot message on the serial debug console like with the original version. Do I have to use the u-boot.bin or u-boot.imx file?
git clone git://git.denx.e/u-boot.git
<apply patch>
make riotboard_config
CROSS_COMPILE=armv7a-hardfloat-linux-gnueabi- make
<install u-boot.bin with MfgTool2.exe>
Could you post or upload your corresponding file?
You want u-boot.imx. I didn't try to upload it using the tool, I just wrote it to a uSD card and then set the switches appropriately
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
the card should have the first partition start at sector 2048, not sector 63.
You then write u-boot.imx to the card starting at 1K with a command something like
dd if=u-boot.imx of=/dev/sdX bs=1024 seek=1
The attached version will look for a file called /bootscript in the first partition.. unfortunately my only copy of that file is on the uSD card that's currently at home, I'll post a copy of it later today. Even without this, you should still get the u-boot console on the serial port.
However if you have the switches set incorrectly you get nothing.
u-boot.imx.zip |
I think the attachment is ok u-boot.imx has 326656 bytes, here is the situation:
Hmm... like I said, I don't have the board here, so it's difficult to check switch settings. I'll do so later this afternoon and let you know.
file size looks correct, and the exact command I used to write it from the history was dd if=u-boot.imx of=/dev/sdb bs=1024 seek=1 using a usb SD adapter.
Unfortunately uploads here seem to be limited to 50MB, but maybe we just need to find a way to get you a straight copy of my uSD image to try.
I found this log in my terminals history showing what you should see, you should at least get the u-boot part with probably an error about missing /bootscript
U-Boot 2014.04-rc2-00094-g7d72f06-dirty (Mar 30 2014 - 18:20:25)
CPU: Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: POR
Board: RIoTboard
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
No panel detected: default to HDMI
Display: HDMI (1024x768)
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: Your board does not use generic board. Please read
doc/README.generic-board and take action. Boards not
upgraded by the late 2014 may break or be removed.
Hit any key to stop autoboot: 0
start
MMC: no card present
mmc0(part 0) is current device
load..
MMC: no card present
** Bad device mmc 0 **
mmc1 is current device
load..
473 bytes read in 29 ms (15.6 KiB/s)
import...
executing
2836792 bytes read in 192 ms (14.1 MiB/s)
kernel_loaded
33044 bytes read in 76 ms (423.8 KiB/s)
fdt_loaded
Kernel image @ 0x12000000 [ 0x000000 - 0x2b4938 ]
## Flattened Device Tree blob at 11000000
Booting using the fdt blob at 0x11000000
Using Device Tree in place at 11000000, end 1100b113
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.14.0-imx (root@sl1) (gcc version 4.8.2 (GCC) ) #9 SMP Tue Apr 1 14:04:31 UTC 2014
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: RIoTboard i.MX6SDL
[ 0.000000] cma: CMA: reserved 16 MiB at 3e800000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] PERCPU: Embedded 8 pages/cpu @edfce000 s8320 r8192 d16256 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260624
[ 0.000000] Kernel command line: console=ttymxc1,115200n8 rootwait root=/dev/mmcblk0p1 enable_wait_mode=off
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 1017160K/1048576K available (3802K kernel code, 169K rwdata, 1280K rodata, 196K init, 353K bss, 31416K reserved, 270336K highme)
[ 0.000000] Virtual kernel memory layout:
Matthias Schwartz wrote:
I think the attachment is ok u-boot.imx has 326656 bytes, here is the situation:
root@fubar01:~/riotboard# ls -l u-boot.imx
-rw-r--r-- 1 root root 326656 Mar 30 19:23 u-boot.imx
root@fubar01:~/riotboard# sha256sum u-boot.imx
36c4d61fa46203b8c4297c94ce5833739674a4bea92ea5766b631b5ab4a5b4ab u-boot.imx
Hopefully that can confirm the file you have is the same.
Yes the sha256sum is correct. I think the problem is not the u-boot.imx image. Either the dd call failed or the system needs additional information on the boot device, perhaps the u-boot parameters or some checksum. Or something on my board is corrupt.
I tried dd to /dev/mmcblk0 and /dev/mmcblk1 directly from ubuntu on the RIoT-board and dd to /dev/sda from an x86 linux system with USB to SD converter. Same effect with both. I checked the dip switches multiple times. Are there different board revisions with different switch settings?
When I'm using your u-boot in the serial download mode for BootStrap your UBoot-2014.04-rc2...dirty starts, first success