Date: Tue, 18 Jul 2017 07:25:17 -0700 From: Russell Haley <russ.haley@gmail.com> To: freebsd-arm <freebsd-arm@freebsd.org> Subject: BBB & IMX6 Hummingboard SDIO driver Message-ID: <CABx9NuR-ahQ3-PF2DV_6zAzMdFKhkyCt0b8%2BcyQ1KDBcaYHU=g@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Well more EBK (error behind keyboard). In the end I STILL didn't read the entire command line in the wiki. I missed the -E parameter for sudo, which preserves the environment variables. Ian remembered that he once added something to the sudoers file, which got me to the next step, where I finally *saw* the missing sudo parameter when reading the wiki entry for buildkernel. His more permanent solution is to add a line via visudo: Defaults env_keep += "MAKEOBJDIRPREFIX MODULES_OVERRIDE SUBDIR_OVERRIDE" which preserves the required variable of MAKEOBJDIRPREFIX. He explains the other variables: The other two vars are because I sometimes do a sudo make install with SUBDIR_OVERRIDE= or MODULES_OVERRIDE= to get a quick partial install Final build instructions: *NOTE: My output all says hummingboard because I thought I was going to build for that board first. I changed my mind at the last minute and built for my BBB. I'm cross building on amd64 to a BBB. setenv BASEDIR `pwd` setenv MAKEOBJDIRPREFIX $BASEDIR/obj cd $BASEDIR/src svn checkout https://svn0.us-west.FreeBSD.org/base/head . mkdir /mnt/memdisk mkdir /mnt/uboot truncate -s 1100M bbb.img #I think... I used 2048 because 1024 failed sudo mdconfig -f bbb.img gpart create -s mbr md0 gpart add -t fat32 -b 1M -s 50M md0 sudo newfs_msdos -F16 /dev/md0s1 gpart add -t freebsd md0 sudo newfs /dev/md0s2 make TARGET_ARCH=armv6 -j10 buildworld make TARGET_ARCH=armv6 KERNCONF=BEAGLEBONE-MMCCAM -j10 buildkernel sudo mount_msdosfs /dev/md0s1 /mnt/uboot/ sudo mount /dev/md0s2 /mnt/memdisk/ #The -E is very important. It preserves the environment for sudo sudo -E make TARGET_ARCH=armv6 DESTDIR=/mnt/memdisk installworld distribution sudo -E make installkernel TARGET_ARCH=armv6 KERNCONF=BEAGLEBONE-MMCCAM DESTDIR=/mnt/memdisk cp ~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src/sys/boot/arm/uboot/ubldr /mnt/uboot # cd ~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src ~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src% cp ./sys/BEAGLEBONE-MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb/am335x/am335x-boneblack.dtb /mnt/uboot/ cd /usr/ports/sysutils/u-boot-beaglebone/ make cp work/u-boot-ports-v2017.01.00.2/MLO /mnt/uboot cp work/u-boot-ports-v2017.01.00.2/u-boot.img /mnt/uboot sudo umount /dev/md0s1 sudo umount /dev/md0s2 sudo mdconfig -du md0 sysctl kern.geom.debugflags=16 dd if=bbb.img of=/dev/da5 bs=4096k total ufs size used: 948M Thanks! Russ Now I need to find those silly little pins for the fdt cable. lolz On Mon, Jul 17, 2017 at 5:15 PM, Russell Haley <russ.haley@gmail.com> wrote: > Sorry, I'm going to take the TARGET out and try again. It's not in the > wiki entry for cross building. > > On Mon, Jul 17, 2017 at 1:57 PM, Russell Haley <russ.haley@gmail.com> wrote: >> My installworld is failing? >> >> Steps so far: >> #Make a memdisk to speed things up >> mkdir /mnt/memdisk >> mkdir /mnt/uboot >> >> truncate -s 1024M bbb.img >> sudo mdconfig -f bbb.img >> >> gpart create -s mbr md0 >> gpart add -t fat32 -b 1M -s 50M md0 >> newfs_msdos -F32 /dev/md0s1 >> gpart add -t freebsd md0 >> sudo newfs /dev/md0s2 >> >> #build >> >> make -DNO_CLEAN TARGET=arm TARGET_ARCH=armv6 -j10 buildworld >> make -DNO_CLEAN TARGET=arm TARGET_ARCH=armv6 >> KERNCONF=BEAGLEBONE-MMCCAM -j10 buildkernel >> >> #install >> sudo mount_msdosfs /dev/md0s1 /mnt/uboot/ >> sudo mount /dev/md0s2 /mnt/memdisk/ >> sudo make TARGET_ARCH=armv6 DESTDIR=/mnt/memdisk installworld distribution >> >> build error (full output is here: https://pastebin.com/VU3XDt5u): >> >> -------------------------------------------------------------- >>>>> Installing everything >> -------------------------------------------------------------- >> cd /usr/home/russellh/FreeBSD/hummingboard/src; make -f Makefile.inc1 >> install >> ===> lib (install) >> ===> lib/csu (install) >> ===> lib/csu/arm (install) >> cc -target armv6-gnueabihf-freebsd12.0 >> --sysroot=/usr/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src/tmp >> -B/usr/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src/tmp/usr/bin >> -O -pipe -I/usr/home/russellh/FreeBSD/hummingboard/src/lib/csu/common >> -I/usr/home/russellh/FreeBSD/hummingboard/src/lib/libc/include >> -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W >> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes >> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch >> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline >> -Wnested-externs -Wredundant-decls -Wold-style-definition >> -Wno-pointer-sign -Wthread-safety -Wno-empty-body -Wno-string-plus-int >> -Wno-unused-const-variable -Qunused-arguments >> ERROR-tried-to-rebuild-during-make-install -mlong-calls -S -o crt1.s >> /usr/home/russellh/FreeBSD/hummingboard/src/lib/csu/arm/crt1.c >> /tmp/install.t1fF66Xy/sh: cc: not found >> *** Error code 127 >> >> Stop. >> make[6]: stopped in >> /usr/home/russellh/FreeBSD/hummingboard/src/lib/csu/arm >> *** Error code 1 >> >> Stop. >> make[5]: stopped in >> /usr/home/russellh/FreeBSD/hummingboard/src/lib/csu >> *** Error code 1 >> >> Stop. >> make[4]: stopped in /usr/home/russellh/FreeBSD/hummingboard/src/lib >> *** Error code 1 >> >> Stop. >> make[3]: stopped in /usr/home/russellh/FreeBSD/hummingboard/src >> *** Error code 1 >> >> Stop. >> make[2]: stopped in /usr/home/russellh/FreeBSD/hummingboard/src >> *** Error code 1 >> >> Stop. >> make[1]: stopped in /usr/home/russellh/FreeBSD/hummingboard/src >> *** Error code 1 >> >> Stop. >> make: stopped in /usr/home/russellh/FreeBSD/hummingboard/src >> >> >> >> Thanks, >> Russ >> >> On Mon, Jul 17, 2017 at 11:39 AM, Russell Haley <russ.haley@gmail.com> wrote: >>> On Mon, Jul 17, 2017 at 11:34 AM, Ian Lepore <ian@freebsd.org> wrote: >>>> On Mon, 2017-07-17 at 11:32 -0700, Russell Haley wrote: >>>>> On Sun, Jul 16, 2017 at 7:30 PM, Ian Lepore <ian@freebsd.org> wrote: >>>>> > >>>>> > On Sun, 2017-07-16 at 17:41 -0700, Russell Haley wrote: >>>>> > > >>>>> > > Hi, >>>>> > > >>>>> > > I'm building for a BBB and I think I've got almost everything but >>>>> > > I >>>>> > > er... can't find the dtb file or the uEnv.txt file. Any help >>>>> > > would be >>>>> > > grand? I have a feeling I'm going to have to beg/borrow/steal a >>>>> > > uEnv.txt file from a pre-built image. >>>>> > > >>>>> > > As I'm going through the process of re-learning the build steps, >>>>> > > i >>>>> > > thought of a couple of things that I either didn't see or >>>>> > > couldn't >>>>> > > find on the website: >>>>> > > >>>>> > > - A list of boards and their kernel config files >>>>> > > - An easy reference on where to find the bits after the build. >>>>> > > yes, >>>>> > > yes, it's in the handbook. >>>>> > > - Since u-boot has been standardised now, it would be nice to >>>>> > > have a >>>>> > > section on where to get u-boot and the other bits needed to boot. >>>>> > > >>>>> > > Anyway, I've got an unprecedented week with no work and no kids, >>>>> > > so >>>>> > > I'm going to do what any sane person would do during a beautiful >>>>> > > July >>>>> > > summer: play with FreeBSD! >>>>> > > >>>>> > > My end goal - and this is a stretch target - is to try and adopt >>>>> > > Illyia's SDIO driver. I'm not sure how far I'll get, or much time >>>>> > > I'll >>>>> > > have after my week is up, but that's what my objective is. I've >>>>> > > built >>>>> > > the system using the kernel config BEAGLEBONE-MMCCAM in the blind >>>>> > > hope >>>>> > > that it will use his drivers? Once I get that working and can >>>>> > > verify >>>>> > > it in dtrace (maybe? yet another rabbit hole!) I want to get it >>>>> > > working on my IMX6 hummingboard. >>>>> > > >>>>> > > oh, and I suppose I should open up some code, eh? >>>>> > > >>>>> > > Okay, now why isn't my PC computer seeing my sd cards? grrr... ;) >>>>> > > >>>>> > > Cheers, >>>>> > > >>>>> > > Russ >>>>> > You don't need a uenv.txt file. It was always optional, and with >>>>> > the >>>>> > latest uboot stuff it's completely gone. >>>>> > >>>>> > -- Ian >>>>> Thanks Ian. >>>>> >>>>> DTB files are apparently generated with buildworld. >>>>> >>>>> https://wiki.freebsd.org/FlattenedDeviceTree >>>>> >>>>> I know they are generated with a specific tool (the name of which I >>>>> forget) . I'm surprised it's not it's own target or at least part of >>>>> buildkernel. >>>>> >>>>> Russ >>>> >>>> The DTB files installed on our distributed images are built from >>>> sys/modules/dtb (which makes them part of the kernel build unless you >>>> go out of your way to build them by themselves). >>> >>> EBK (Error Behind Keyboard): Forgot the single quotes in my find >>> command. oops. Thanks! >>> >>> russellh@prescott:~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src/sys% >>> find . -name '*dtb*' >>> ./BEAGLEBONE-MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb >>> ./BEAGLEBONE-MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb/am335x/am335x-boneblack.dtb >>> ./BEAGLEBONE-MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb/am335x/ufw.dtb >>> ./BEAGLEBONE-MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb/am335x/am335x-bonegreen.dtb >>> ./BEAGLEBONE-MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb/am335x/am335x-bone.dtb
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABx9NuR-ahQ3-PF2DV_6zAzMdFKhkyCt0b8%2BcyQ1KDBcaYHU=g>