1 (edited by chris4795 2017-10-20 10:31:03)

Topic: Updated U-boot (with deb file)

Hello All,

Something I wanted to do is also update u-boot, and I have inital working status on that!

I have been wokring with the 2017-09 code base. To get that, use these commands:

git clone git://git.denx.de/u-boot.git
cd u-boot
git fetch origin c98ac3487e413c71e5d36322ef3324b21c6f60f9
git reset --hard FETCH_HEAD
make menuconfig
make

This produces the "u-boot.img" and the "SPL" (it is called SPL when compiled, that is equivalent to "u-boot.spl")

I have the config file, and a working SPL and u-boot.img file here:

EDIT: This is no longer here, I have made a seperate git hub

Note that this u-boot.img looks for a file "extlinux/extlinux.conf" in the boot partitions to know what to load and boot, so I added that file there.

The big reason I wanted to do this is that not only does this support ext4, but it can search for boot files on the MMC card, SATA card, and USB drive with little intervention. It also supprts the raw "vmlinuz" and "initrd.img" files that are produces from compiling the kernel. This makes it much easier to support a MMC only or SATA drive, and in addition, make it easier to boot off of a USB or SD card.

I will warn you, this is very much in a "beta" status. But the Video output works (though you will have to manually set it and save the env, or else it will default to serial), and I would like to get this functioning like the original u-boot.

But I also wanted to put this out there because as of now, I cannot access the EEPROM located within the Novena. I will be working later on to try to get it to work, but if I dont, I wanted to hear some thoughts on where to put the new ENV file. Right now, I am making it a second partition on the MMC card that holds the env files (you can disable any environment in the menuconfig part, or it will fail and use the default env). However, I am leaning towards making the SD card have two boot partitions, one is a FAT partition that only contains the u-boot.img and the boot env, and another that is ext4 and can be a / partition for an only SD card novena, or also a /boot for one with a SATA (I think the /boot can also be only on the SATA, but I haven't tested, I just got it to work). I like that idea because it becomes much easier to remotely update.

Does anyone have any thoughts for that?

Re: Updated U-boot (with deb file)

I have worked on the u-boot for a bit, and I am no longer calling it beta. Please take a look here:

https://github.com/chris4795/u-boot-novena

The README has instructions how to install. If you are unsure or need clarity, I am happy to help! I included new helper scripts, so the files from:

https://github.com/chris4795/novena-debian-support

Are no longer needed.

3 (edited by chris4795 2017-10-23 03:28:59)

Re: Updated U-boot (with deb file)

Hello all,

I created a debian package to properly install u-boot and the scripts needed to update the kernel. This script will set up everything needed to have your novena booting in the format for the new u-boot. I have tested it on my own laptop and it successfully installed and booted up!

It is here:

EDIT: Rather than continue spamming this forum, I am just going to keep the most up to date packages here:

https://www.talbothome.com/s/PzCr4n24JFm5CW7

I also created a script for you to compile everything from source to have your own debian install file as well.

4 (edited by chris4795 2017-11-03 09:16:39)

Re: Updated U-boot (with deb file)

I have gone through a few iterations, and I feel that the "u-boot-novena_2017.09.r7" is stable. The installer for this is farily smart, and will not override extlinux.conf extlinux-recovery.conf, and uboot.env so you can put your own customizations in there. It will also install the SPL by default, and will move files to the FAT partition if it is not mounted. If it is mounted, it will expect it to be mounted a "/boot/u-boot/", or else it will give an error. I also made a script so you can make your own uboot.env and export it. It is also smart enough to find the root partition and list that as a boot argument, as well as find what console to output to. I did this in mind for creating a new installer, and making that process more seamless. However, if you are upgrading, I would advise to remove u-boot-novena then reinstall it so it will set up everything. If you don't, you just wont have the most up to date extlinux.conf and extlinux-recovery.conf files (it will still boot).

I only have two known issues with it now:

- There is a known issue that init and syslog will only output to one or another console, so if you have encrypted set up, you must make sure it coorseponds to the correct one (tty0 for monitor, ttymxc1 for serial). This appears to be a known issue with init and syslog output:

https://serverfault.com/questions/30776 … monitor-kv

- I cannot get the usb keyboard to work on u-boot, I can only type through serial port. It could just be my keyboard (I have a lenovo thinkpad keyboard), but I have tried enabling "usb start" in the boot environment and I got nothing.

I placed the files here:

https://www.talbothome.com/s/PzCr4n24JFm5CW7

EDIT:

The source files here here if you wish to cuild the package yourself:

https://github.com/chris4795/u-boot-novena

EDIT: I apoligize, I had to fix a couple of things to get u-boot to be happy with installing a new kernel, r7 is good now.