Newer BBB fails to enable eMMC with legacy 3.8 SD image

59 views
Skip to first unread message

eccsi...@gmail.com

unread,
Oct 13, 2017, 6:10:52 PM10/13/17
to BeagleBoard
I have an older BBB that is flashing just fine from my SD (3.8 kernel img). When I put this same SD into a newer BBB it fails to flash because mmcblk1 doesn't exist. So I disabled the emmc flash script at the end of uEnv.txt, and did an lsblk. Sure enough there is no emmc enabled, or at least mmcblk1 is not seen/mounted.

The SD card is unchanged from one device to another, and the only thing I can see that's different is the newer one seems to be running U-Boot 2016.11-rc3-00002-g73df7f7, as apposed to the older one running U-Boot 2015.01. 

If I grab a newer image (4.4) and put it on the SD, it works fine. The issue is, I need to keep 3.8 for the time being, and I need it to properly enable the emmc.

Anyone run into this type of issue? Any advice would be amazing! Thank you.

Robert Nelson

unread,
Oct 13, 2017, 8:33:01 PM10/13/17
to Beagle Board, eccsi...@gmail.com
This was fixed in 3.8.13-bone80, which is the "first" 3.8.13 kernel to
support eMMC5.1..

It's not any issue in any other kernel branches.

If you "MUST" have a specific 3.8.13 version follow these directions:

https://gist.github.com/RobertCNelson/39faf80ddc9fcefae74dce2c6ca2eb45

and rebuild it yourself.. ;)

Regards,

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

Gary Simmons

unread,
Oct 17, 2017, 6:11:13 PM10/17/17
to Robert Nelson, Beagle Board
Thank you! Patched our custom kernel successfully with those patches. For some reason I could not for the life of me track down what had changed.
--
Sincerely,
Gary Simmons

Bekir Bahadir

unread,
Oct 20, 2017, 3:24:02 PM10/20/17
to BeagleBoard

I have the same problem with the new beaglebones.

I need the 3.8.13-bone60 kernel with this patch for the new beaglebones with eMMC5.1.

How can I compile 3.8.13-bone60 with the two patches instead of the 3.8.13-bone56 ?


Here is the output with 3.8.13-bone56: 

 44e10800.pinmux; cannot claim for gpio-leds.8
[    0.779863] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[    0.787146] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single
Loading, please wait...
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory
[    2.199118] EXT4-fs (mmcblk0p2): error loading journal
mount: mounting /dev/mmcblk0p2 on /root failed: Invalid argument
mount: mounting /dev on /root/dev failed: No such file or directory
Target filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory
modprobe: chdir(3.8.13-bone56): No such file or directory


BusyBox v1.20.2 (Debian 1:1.20.0-7) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
(initramfs)

U-Boot SPL 2013.10-dirty (Feb 05 2014 - 10:40:58)
reading args
spl: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2013.10-dirty (Feb 05 2014 - 10:40:58)

I2C:   ready
DRAM:  512 MiB

Robert Nelson

unread,
Oct 20, 2017, 3:42:11 PM10/20/17
to Beagle Board, bekir....@gmail.com
On Fri, Oct 20, 2017 at 2:24 PM, Bekir Bahadir <bekir....@gmail.com> wrote:
>
> I have the same problem with the new beaglebones.
>
> I need the 3.8.13-bone60 kernel with this patch for the new beaglebones with
> eMMC5.1.
>
> How can I compile 3.8.13-bone60 with the two patches instead of the
> 3.8.13-bone56 ?

Well, just follow the directions i posted two posts ago in this thread:

https://gist.github.com/RobertCNelson/39faf80ddc9fcefae74dce2c6ca2eb45

In the directions ^ change the 3.8.13-bone56 -> 3.8.13-bone60

Bekir Bahadir

unread,
Oct 21, 2017, 1:15:56 AM10/21/17
to BeagleBoard
When I try to compile a .deb kernel package with cmd './build_deb.sh' im getting errors

With the cmd ./build_kernel.sh I get created the 3.8.13-bone60.zImage,.dtbs,.firmware,.modules.

But how can i generate or where can I get these files which are located in my fat32 boot partition.
uImage
uInitrd
initrd.img


Here is the Output when I try to compile the kernel with ./build_deb.sh on a x86 debian9 64Bit system.


ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/data.o
  SHIPPED scripts/dtc/dtc-lexer.lex.c
  HOSTCC  scripts/genksyms/genksyms.o
  SHIPPED scripts/dtc/dtc-parser.tab.h
  SHIPPED scripts/dtc/dtc-parser.tab.c
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  SHIPPED scripts/genksyms/lex.lex.c
  SHIPPED scripts/genksyms/keywords.hash.c
  SHIPPED scripts/genksyms/parse.tab.h
  SHIPPED scripts/genksyms/parse.tab.c
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/util.o
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  Generating include/generated/mach-types.h
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  CC      kernel/bounds.s
ERROR: ld.so: object 'libfakeroot-sysv.so  HOSTCC  scripts/genksyms/parse.tab.o
' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  GEN     include/generated/bounds.h
  CC      arch/arm/kernel/asm-offsets.s
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  GEN     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.

Robert Nelson

unread,
Oct 21, 2017, 1:36:29 AM10/21/17
to Beagle Board, bekir....@gmail.com
Everyone of those is safe to ignore.. it's just teh old 32bit gcc used..

Regards
Reply all
Reply to author
Forward
0 new messages