[beagleboard] Re: which uboot source to compile (and how) for emmc/NAND
Hi Jeff (and posterity), I am just going over my notes now and making sure it's all reproducible. When you use BOOTP/DHCP to grab the bootloaders you have to set up a TFTP server to supply u-boot.spl.bin and u-boot.img files (and a zImage but ... tmi for now) - my point being you have to generate these two files (u-boot.spl.bin and u-boot.img) from the u-boot source. And these are different to the MLO and u-boot.img files you flash to your NAND . This NAND part I definitely have working thanks to the recipe we both found above (https://eewiki.net/display/linuxonarm/BeagleBone+Black). Frustratingly, I had to use a different git repo to generate the BOOTP/DHCP boot loader files (u-boot.spl.bin and u-boot.img respectively). To generate these I instead use: git clone git://git.ti.com/ti-u-boot/ti-u-boot.git cd ti-u-boot git checkout ti-u-boot-2017.01 CC=arm-linux-gnueabihf- make CROSS_COMPILE=${CC} O=am335x_evm am335x_evm_defconfig make CROSS_COMPILE=${CC} O=am335x_evm And then the files you are after are am335x_evn/spl/u-boot-spl.bin and am335x_evn/u-boot.img. I hope that helps anyone in the same situation. It would be interesting to hear from anyone with more insight... end spam, Dave. On Wed, 9 Aug 2017 at 11:41 Jeff Andich wrote: > Good to hear.. > > This may come in handy when we're at the point of writing the eMMC in our > board.. > > Regards, > > jeff > > > On Tue, Aug 8, 2017 at 6:50 PM David Woolford > wrote: > >> Hi Jeff, >> >> Thanks for your reply. After I wrote that post I found the exact same >> link (https://eewiki.net/display/linuxonarm/BeagleBone+Black) and the >> "obligatory patches" are basically what I was missing for building the MLO >> and u-boot.img files for the EMMC. >> >> Sorry if I wasn't clear - my task is to write the contents of the EMMC >> from scratch using only an Ethernet connection. I'm doing that using >> BOOTP/DHCP and TFTP. It's working now. >> >> Thanks, >> Dave. >> >> On Wed, 9 Aug 2017 at 02:20 Jeff Andich wrote: >> >>> I'm a newbie, so take this with a grain of salt or as comic relief for >>> the experts on this website. >>> >>> I don't completely understand what you're trying to do, but it sounds >>> like the kernel some how contains/flashes MLO/u-boot.img??? >>> >>> But maybe you can generate SD Card which contains everything you need >>> (e.g. MLO, u-boot.img, kernel, fs, uEnv.txt) and then uncomment the >>> appropriate line within uEnv.txt to convert that into a flasher image, and >>> subsequently flash the eMMC... >>> >>> Instructions for where to get EVERYTHING and transfer it to SD card for >>> the BBB can be found here: >>> >>> https://eewiki.net/display/linuxonarm/BeagleBone+Black >>> >>> Once you download the u-boot source and apply all of the the obligatory >>> patches for BBB, you will have a buildable u-boot/SPL tree. >>> >>> In lieu of generating a complete SD card image, it MAY BE possible to dd >>> just the MLO/u-boot.img to the eMMC on the BBB, but I think you can only do >>> this from a running FS on the BBB. >>> >>> >>> >>> On Tuesday, August 8, 2017 at 6:55:12 AM UTC-5, wolfwo...@gmail.com >>> wrote: >>>> >>>> Hi, >>>> >>>> I'm trying to automate the process of flashing a bootable emmc (NAND) >>>> on my beagle bone black. I've pin strapped the board to boot using >>>> bootp/dhcp - the kernel that gets loaded by the u-boot.img (that was pulled >>>> in via dhcp+tftp) uses an initramfs as the basis of writing the MLO, (a >>>> different) u-boot.img and root file system (containing zImage and uEnv.txt) >>>> to emmc/NAND. This all works and when I restart the beagle bone black it >>>> boots as I expect. Hooray for automated emmc flashing. >>>> >>>> However my problem is that I can't seem to hand roll a version the the >>>> MLO and u-boot.img that I flash to NAND. What I'm using right now are >>>> copies I found of these two files in the debian images distributed here: >>>> https://beagleboard.org/latest-images (These images tend to contain >>>> filesystems with /opt/backup/uboot/MLO and /opt/back/uboot/u-boot.img files >>>> existing). If I use these two boot loader files, and craft my >>>> /boot/uEnv.txt just so (uuid needs to be specified), then I can boot a >>>> couple of kernels/filesystems I have lying around successfully. >>>> >>>> But I ca
[beagleboard] Re: which uboot source to compile (and how) for emmc/NAND
Hi Jeff, Thanks for your reply. After I wrote that post I found the exact same link ( https://eewiki.net/display/linuxonarm/BeagleBone+Black) and the "obligatory patches" are basically what I was missing for building the MLO and u-boot.img files for the EMMC. Sorry if I wasn't clear - my task is to write the contents of the EMMC from scratch using only an Ethernet connection. I'm doing that using BOOTP/DHCP and TFTP. It's working now. Thanks, Dave. On Wed, 9 Aug 2017 at 02:20 Jeff Andich wrote: > I'm a newbie, so take this with a grain of salt or as comic relief for the > experts on this website. > > I don't completely understand what you're trying to do, but it sounds like > the kernel some how contains/flashes MLO/u-boot.img??? > > But maybe you can generate SD Card which contains everything you need > (e.g. MLO, u-boot.img, kernel, fs, uEnv.txt) and then uncomment the > appropriate line within uEnv.txt to convert that into a flasher image, and > subsequently flash the eMMC... > > Instructions for where to get EVERYTHING and transfer it to SD card for > the BBB can be found here: > > https://eewiki.net/display/linuxonarm/BeagleBone+Black > > Once you download the u-boot source and apply all of the the obligatory > patches for BBB, you will have a buildable u-boot/SPL tree. > > In lieu of generating a complete SD card image, it MAY BE possible to dd > just the MLO/u-boot.img to the eMMC on the BBB, but I think you can only do > this from a running FS on the BBB. > > > > On Tuesday, August 8, 2017 at 6:55:12 AM UTC-5, wolfwo...@gmail.com wrote: >> >> Hi, >> >> I'm trying to automate the process of flashing a bootable emmc (NAND) on >> my beagle bone black. I've pin strapped the board to boot using bootp/dhcp >> - the kernel that gets loaded by the u-boot.img (that was pulled in via >> dhcp+tftp) uses an initramfs as the basis of writing the MLO, (a different) >> u-boot.img and root file system (containing zImage and uEnv.txt) to >> emmc/NAND. This all works and when I restart the beagle bone black it boots >> as I expect. Hooray for automated emmc flashing. >> >> However my problem is that I can't seem to hand roll a version the the >> MLO and u-boot.img that I flash to NAND. What I'm using right now are >> copies I found of these two files in the debian images distributed here: >> https://beagleboard.org/latest-images (These images tend to contain >> filesystems with /opt/backup/uboot/MLO and /opt/back/uboot/u-boot.img files >> existing). If I use these two boot loader files, and craft my >> /boot/uEnv.txt just so (uuid needs to be specified), then I can boot a >> couple of kernels/filesystems I have lying around successfully. >> >> But I can't seem to reproduce these two files (MLO and u-boot.img) for my >> NAND from source. I've tried these git repos: >> >> git://git.denx.de/u-boot.git >> git://git.ti.com/ti-u-boot/ti-u-boot.git >> >> and even the u-boot source that that ships with the SDK: >> >> ~/ti-processor-sdk-linux-am335x-evm-04.00.00.04/board-support/u-boot-2017.01+gitAUTOINC+9fd60700db-g9fd60700db/ >> >> For each of those I'm running >> >> make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm am335x_evm_defconfig >> && make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm >> >> And I've even tried a different config: >> >> make CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_boneblack >> am335x_boneblack_defconfig && make CROSS_COMPILE=arm-linux-gnueabihf- >> O=am335x_boneblack >> >> This compilation process creates the MLO and u-boot.img files, but I can >> never seem to successfully boot anything if I use them regardless of which >> config I use. >> >> If it helps with clarity, I am trying out MLO and u-boot.img files by >> booting from the SD card, copying over the new versions, and then running >> >> dd if=MLO of=/dev/mmcblk1 conv=notrunc bs=128k count=1 seek=1 >> dd if=u-boot.img of=/dev/mmcblk1 conv=notrunc bs=384k count=2 seek=1 >> >> Note that I can always get back to the "bootable state" by writing the >> backup boot loader files that come with debian distro instead: (the sd card >> is running debian 8.7): >> >> dd if=/opt/backup/uboot/MLO of=/dev/mmcblk1 conv=notrunc bs=128k count=1 >> seek=1 >> dd if=/opt/backup/uboot/u-boot.img of=/dev/mmcblk1 conv=notrunc bs=384k >> count=2 seek=1 >> >> >> How can I build MLO and u-boot.img files in order to successfully boot a >> kernel and file system of my choosing on the emmc/NAND? Is there a page >> somewhere? Any help would be appreciated. >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CAMp8jfrOwy7i4%2BOJM_djLWJ4iVBAF%3DiJucyS%3DaKd2cdDsZTcHg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optou