TI Sitara 57XX - Combining Debian FS Image from BeagleBoard-X-15 with Kernel/Boot from TI SDK

280 views
Skip to first unread message

Jeff Andich

unread,
Mar 2, 2017, 12:22:54 PM3/2/17
to BeagleBoard
Hi,

I apologize if this has already been posted somewhere else....  We're making a custom board based on the TI 5718 chip and currently have TI SDK kernel and FS net booting on the TI 572X EVM from an Ubuntu VM.

We're new to Linux.

When discussing whether to whole-heatedly embrace the TI SDK (+ Yocto/Arago) vs Debian with a number of different folks, one very knowledgeable guy I had to fortune of speaking with suggested we try a hybrid approach:
Use the Debian FS image, from the BeagleBoard-X-15, and the kernel, boot loader, and device tree from the TI SDK for the 572X EVM.

I'm wondering if anyone has tried loading the TI SDK kernel, but with the Debian FS image for the BeagleBoard X-15...

If so, what has your experience been?

Is the process as simple as telling U-boot to load the SDK kernel image, and then the TI SDK kernel to load the Debian FS image instead of the stock FS image which comes with the TI SDK?

If this is plausible, what else would we need to worry about?

Thanks a lot in advance!!

Jeff

Robert Nelson

unread,
Mar 2, 2017, 12:30:13 PM3/2/17
to Beagle Board, jeff....@gmail.com
It's easy, just:

Copy modules to:

/lib/modules/`uname -r`/

Copy device tree binaries to:

/boot/dtbs/`uname -r`/*.dtb

copy vmlinuz/zimage to:

/boot/vmlinuz-`uname -r`

in /boot/uEnv.txt

set:
uname_r=`uname -r`

if you want to specify a specific device tree binary to load:

set:

dtb=my-device-tree.dtb

Regards,

--
Robert Nelson
https://rcn-ee.com/

Jeff Andich

unread,
Mar 2, 2017, 1:48:13 PM3/2/17
to BeagleBoard, jeff....@gmail.com
Thanks Robert!!


I take it the various forms of the FS images for the X-15 are under the link at the bottom??


Thanks again!

Jeff Andich

unread,
Mar 7, 2017, 6:52:51 PM3/7/17
to BeagleBoard, jeff....@gmail.com

Hi all,

 

First and foremost, is this the correct forum for newbies to ask follow up questions?

 

Also, please let me know if I haven't done enough "chewing" on the problem before posting up...


I followed the procedure below (if I understood everything correctly), but ended up getting a kernel panic (please see below) with the SD Card boot.


The lib modules, dtb files, and kernel image from the TI SDK (version am57xx-evm-03.02.00.05) were copied from the TI SDK folders (..../targetNFS).  Please note, I have net booted my 57xxEVM several times, and then replaced the /lib files on the SD Card, X15 image.  I'm not sure if I need a pristine copy...


Also I tried separately booting off of the zImage and vmlinux images from ti-sdk.... both resulting in a K-panic.


Also, I tried booting the stock SD card image of the beagleboard-x15 on my 57xxEVM to a login prompt, and login, but with some issues (pru-related errors during kernel boot and fsck error).  Incidentally, it loaded the same dtb as gets loaded by the 57xxevm (without needing to specify this in uEnv.txt!??).


 

 

*********************************************************************

 

U-Boot 2016.05-00560-gbe6a102 (Nov 01 2016 - 11:19:49 -0500), Build: jenkins-github_Bootloader-Builder-478

 

CPU  : DRA752-GP ES2.0

Board: AM572x EVM REV A.3A

I2C:   ready

DRAM:  2 GiB

MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1

 

** Unable to use mmc 0:1 for loading the env **

Using default environment

 

SCSI:  SATA link 0 timeout.

AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode

flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst 

scanning bus for devices...

Found 0 device(s).

Net:   <ethaddr> not set. Validating first E-fuse MAC

cpsw

Press SPACE to abort autoboot in 2 seconds

usb_boot is currently disabled

scsi_boot is currently disabled

switch to partitions #0, OK

mmc0 is current device

Scanning mmc device 0

Checking for: /uEnv.txt ...

Checking for: /boot/uEnv.txt ...

461 bytes read in 41 ms (10.7 KiB/s)

Loaded environment from /boot/uEnv.txt

debug: [dtb=am57xx-evm-reva3.dtb] ...

Checking if uname_r is set in /boot/uEnv.txt ...

debug: [uname_r=4.4.32-gadde2ca9f8] ...

loading /boot/vmlinuz-4.4.32-gadde2ca9f8 ...

3597872 bytes read in 224 ms (15.3 MiB/s)

loading /boot/dtbs/4.4.32-gadde2ca9f8/am57xx-evm-reva3.dtb ...

102718 bytes read in 64 ms (1.5 MiB/s)

debug: [console=ttyO2,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M quiet] ...

debug: [bootz 0x82000000 - 0x88000000] ...

Kernel image @ 0x82000000 [ 0x000000 - 0x36e630 ]

## Flattened Device Tree blob at 88000000

   Booting using the fdt blob at 0x88000000

   Loading Device Tree to 8ffe3000, end 8ffff13d ... OK

 

Starting kernel ...

 

[    0.000797] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'

[    0.000803] This ensures that you still see kernel messages. Please

[    0.000809] update your kernel commandline.

[    0.001766] /cpus/cpu@0 missing clock-frequency property

[    0.001782] /cpus/cpu@1 missing clock-frequency property

[    0.634006] dra7-pcie 51000000.pcie_rc: link is not up

[    0.858969] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode

[    0.865354] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode

[    0.985409] omap_voltage_late_init: Voltage driver support not added

[    1.060533] omap_hsmmc 4809c000.mmc: card busy

[    1.101972] mmc0: error -110 whilst initialising SD card

[    1.219034] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)

[    1.227506] CPU1: stopping

[    1.230224] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.4.32-gadde2ca9f8 #1

[    1.237210] Hardware name: Generic DRA74X (Flattened Device Tree)

[    1.243323] Backtrace: 

[    1.245792] [<c00130e4>] (dump_backtrace) from [<c00132e0>] (show_stack+0x18/0x1c)

[    1.253388]  r7:ee8b7f40 r6:20000193 r5:00000000 r4:c0960dcc

[    1.259098] [<c00132c8>] (show_stack) from [<c02b420c>] (dump_stack+0x8c/0xa0)

[    1.266351] [<c02b4180>] (dump_stack) from [<c0016420>] (handle_IPI+0x184/0x198)

[    1.273772]  r7:ee8b7f40 r6:00000000 r5:00000001 r4:c0931424

[    1.279477] [<c001629c>] (handle_IPI) from [<c00094c4>] (gic_handle_irq+0x78/0x7c)

[    1.287073]  r7:fa212000 r6:ee8b7f40 r5:fa21200c r4:c09368e0

[    1.292779] [<c000944c>] (gic_handle_irq) from [<c0013dc0>] (__irq_svc+0x40/0x74)

[    1.300287] Exception stack(0xee8b7f40 to 0xee8b7f88)

[    1.305357] 7f40: 00000001 00000000 fe600000 00000000 ee8b6000 c09364ac 00000000 00000000

[    1.313565] 7f60: ee8b7fb0 c0677224 c093650c ee8b7f9c ee8b7f7c ee8b7f90 c0027ae8 c0010540

[    1.321772] 7f80: 60000013 ffffffff

[    1.325267]  r9:c0677224 r8:ee8b7fb0 r7:ee8b7f74 r6:ffffffff r5:60000013 r4:c0010540

[    1.333077] [<c0010518>] (arch_cpu_idle) from [<c00708b8>] (default_idle_call+0x28/0x34)

[    1.341202] [<c0070890>] (default_idle_call) from [<c0070b18>] (cpu_startup_entry+0x200/0x260)

[    1.349849] [<c0070918>] (cpu_startup_entry) from [<c0016008>] (secondary_start_kernel+0x16c/0x178)

[    1.358926]  r7:c09902a8

[    1.361474] [<c0015e9c>] (secondary_start_kernel) from [<8000956c>] (0x8000956c)

[    1.368895]  r7:c09902a8 r6:30c0387d r5:00000000 r4:ae843cc0

[    1.374602] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)

 

 

 

************************************************************************************************************************************

The following procedure was followed:

 

1) A 16 GB SD Card was imaged using the X-15 image, Debian 8.6 2016-11-06 4GB SD LXQT, via the getting started guide procedure (e.g. using 7-zip, imagewriter)

2) Replaced the /lib/modules/4.4.30-ti-r64 folder with the 'uname -r' folder = 4.4.32-gadde2ca9f8 folder from the ti-sdk installation. TI SDK (am57xx-evm-03.02.00.05)/targetNFS/lib/modules.

3) Same for /boot/dtbs

4) Copied the zimage-'uname -r' to the /boot folder on the SD card.

5) Inserted the SD card in the 57xx EVM (with the big LCD screen attached), and booted.

Robert Nelson

unread,
Mar 7, 2017, 7:48:37 PM3/7/17
to Beagle Board, Jeff Andich
I'd start here:

https://github.com/RobertCNelson/ti-linux-kernel-dev/blob/ti-linux-4.4.y/patches/defconfig#L5558-L5564

ps, that ti's sdk doesn't use systemd (the next version with v4.9.x
will), so double check the systemd required config's...

Jeff Andich

unread,
Mar 8, 2017, 9:29:19 AM3/8/17
to BeagleBoard, jeff....@gmail.com
Thanks!!

While figuring out where/how to drop this defconfig in the TI SDK's directory structure, and have it override existing kernel configuration settings, I'm thinking of trying something in "parallel."


Since the stock BeagleBoard-X15 SD card image booted Debian on my 57XX EVM (but with some pru/remoteproc errors), I'm wondering if I can still use the 572X EVM with the BeagleBoard-X15 SDK image (kernel and all), to move forward with installing Mono/.Net with RS232/serial port (over USB) + Ethernet access.    I don't know whether the USB ports on the EVM are 2.0 or 3.0, but if they're < 3.0, then they should work, right?

Thanks again!!

Jeff

Robert Nelson

unread,
Mar 8, 2017, 9:52:42 AM3/8/17
to Beagle Board, Jeff Andich
On Wed, Mar 8, 2017 at 8:29 AM, Jeff Andich <jeff....@gmail.com> wrote:
> Thanks!!
>
> While figuring out where/how to drop this defconfig in the TI SDK's
> directory structure, and have it override existing kernel configuration
> settings, I'm thinking of trying something in "parallel."
>
>
> Since the stock BeagleBoard-X15 SD card image booted Debian on my 57XX EVM
> (but with some pru/remoteproc errors),

The error is because you haven't built "your own" custom pru firmware
and copied it to /lib/firmware/

> I'm wondering if I can still use the
> 572X EVM with the BeagleBoard-X15 SDK image (kernel and all), to move
> forward with installing Mono/.Net with RS232/serial port (over USB) +
> Ethernet access. I don't know whether the USB ports on the EVM are 2.0 or
> 3.0, but if they're < 3.0, then they should work, right?

the 572xevm is a fork of the x15 design.

Jeff Andich

unread,
Mar 10, 2017, 10:17:08 AM3/10/17
to BeagleBoard, jeff....@gmail.com
FYI,

Thanks again!!

It was pretty straight forward to get mono and .net applications up and running (but haven't tried serial ports over USB yet) the other day on 572x EVM with the stock BeagleBoard-X15 image..   Now slogging through manipulating all the DT stuff for when the custom hardware with the 5718 comes along.  Also got to re-build the kernel per your Kconfig.. 

One question ... Is there anything special we need to worry about when deploying the BeagleBoard-X15 image (or Debian/TI SDK kernel image) to the AM5718 vs. the AM5728, since the former has only one A15 core and the BeagleBoard-X15 has the AM5728 chip?
Reply all
Reply to author
Forward
0 new messages