Hi, i have now created a new barebox board as copy from evb. i can load it from tftp with bootm /mnt/tftp/barebox-rk3568-r2pro.img i can create a bootmenu with entries of loader/entries and boot it: boot -m sd.1 my bootscripts are also there, but they are not listed in $global.boot.default $ grep defaultenv arch/arm/boards/bananapi-r2-pro/Makefile bbenv-y += defaultenv-rk3568 $ grep defaultenv arch/arm/boards/bananapi-r2-pro/board.c defaultenv_append_directory(defaultenv_rk3568); $ cat arch/arm/boards/bananapi-r2-pro/defaultenv-rk3568/nv/boot.default net list-images mmc-linux tftp-linux so it looks like the env is load, but the nv is not updated regards Frank > Gesendet: Montag, 10. Januar 2022 um 10:42 Uhr > Von: "Sascha Hauer" <sha@xxxxxxxxxxxxxx> > An: "Frank Wunderlich" <frank-w@xxxxxxxxxxxxxxx> > Cc: "Ahmad Fatoum" <a.fatoum@xxxxxxxxxxxxxx>, barebox@xxxxxxxxxxxxxxxxxxx > Betreff: Re: Re: Re: Re: barebox extending boot-scripts > > On Fri, Jan 07, 2022 at 05:42:22PM +0100, Frank Wunderlich wrote: > > Hi > > > > missed the defaultenv_append_directory(defaultenv_rk3568); in board-file...after adding that it seems to work > > > > > Gesendet: Freitag, 07. Januar 2022 um 14:07 Uhr > > > Von: "Sascha Hauer" <sha@xxxxxxxxxxxxxx> > > > > > > Yes. Furthermore you have to add to the board code: > > > > > > defaultenv_append_directory(defaultenv_rk3568); > > > > maybe this is the part i've missed. i thought it were 2 ways...either link via makefile or add to boards code > > > > > > > > > Boot scripts for publicly available evaluation kits are often not good candidates > > > > > > > for upstreaming, because everybody using the EVKs has different thoughts on how to > > > > > > > boot. The best way would be to use bootloader spec. It's one or more files you > > > > > > > place at a known location that describe where your kernel and device tree are and > > > > > > > what command line arguments to use and barebox can then automatically generate > > > > > > > boot entries from all available bootloader spec files. > > > > > > > > is extlinux (i used in uboot and conf-file is already present) supported here? > > > > > > > > > > > See https://elinux.org/images/9/9d/Barebox-bells-n-whistles.pdf for an example > > > > > > > of how to set this up. This is what I'd recommend instead of writing your own > > > > > > > scripts. > > > > > > > > i do not fully understand the bootloader spec in the pdf as config file seems to be > > > > > > > > /mnt/mmc0.4/loader/entries/stm32mp157c-dk2.conf > > > > > > > > and then > > > > boot -d mmc0.4 > > > > > > > > is run...so the path (loader/entries) seems to be fixed and all files there will be processed (which order)? > > > > > > Yes. No particular order, I guess it would be the order it is on the > > > filesystem. > > > > > > > how is root appended (/dev/mmcblkXpY|uuid|...) when linux-appendroot is set to true? > > > > > > When root is appended it is assumed to be the same fs that also has the > > > bootloader spec file, so the rootfs also has the entry and the kernel. > > > > ok, then this is not usable for me, as i have a boot-partition > > (bootloader+kernel+dtb) and separate rootfs-partition > > > > > > this is for testing multiple kernels with changing filenames (very > > > > dynamic process, e.g. using 1 kernel binary with multiple dtb) and to > > > > avoid adding a bootmenu entry everytime....this is not for end-user :) > > > > > > In that case you could also use bootm directly. > > > > yes but my approach is to list the available kernels before and ask to > > enter the filename to not everytime look for correct commands ;) > > > > > > and here scripting is imho the best way...this allows me to add extra > > > > params to cmdline too (like debug level,dumping offsets) without > > > > changing a distroboot config > > > > > > Not sure if you know already, but barebox concatenates all variables in > > > the "global.linux.bootargs." namespace to the kernel command line, so > > > you can easily add or remove a variable to add/remove kernel options > > > without affecting unrelated options. > > > > i know some options from documentation like this i've used to get a earlycon for tftp > > > > global linux.bootargs.debug="earlycon=uart8250,mmio32,0xfe660000 earlyprintk" > > > > > > for fixed kernels i have defined an extlinux.conf for uboot, but i'm > > > > unsure if barebox can use this file too. have not found anything about > > > > extlinux/syslinux in barebox yet. > > > > > > No, not yet. > > > > ok, i created a bootloader-config like described in the pdf: > > > > cat /mnt/sd.1/loader/entries/linux-gz.conf > > title Linux GZip > > version 5.16 > > options earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 > > linux /extlinux/Image_5.16.gz > > devicetree /extlinux/dtb_5.16 > > initrd /rootfs.cpio.lz4 > > > > but on starting it is skipped due to devicetree mismatch > > > > boot -d sd.1 > > blspec: ignoring entry with incompatible devicetree "rockchip,rk3568-bpi-r2pro" > > blspec: ignoring entry with incompatible devicetree "rockchip,rk3568-bpi-r2pro" > > Nothing bootable found on 'sd.1' > > Nothing bootable found > > > > in barebox i use the evb whereas in linux i already have a separate > > dts. Can i override the compatible for the bootloader or do i need to > > add my board (as copy of evb first)? > > You can overwrite the compatible using the of_property command. However, > I really recommend to add a separate barebox board for your board. > Sooner or later you'll have to do this anyway and it's the only way to > properly add quirks for your board. have now added a new barebox-board, and now this seems to work, but it's booting the first entry and do not display a menu of all configs in loader/entries, is this possible? _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox