PINE64
U-Boot with direct NVMe boot support for eMMC/SPI Flash - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=111)
+--- Forum: General Discussion on Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=112)
+--- Thread: U-Boot with direct NVMe boot support for eMMC/SPI Flash (/showthread.php?tid=8439)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - tophneal - 07-07-2020

(07-07-2020, 09:52 AM)mamboman777 Wrote: Well, I got lots of errors on the build.sh.  I think I may be missing dependencies?

Code:
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make: *** No rule to make target 'realclean'.  Stop.
make: *** No rule to make target 'bl31'.  Stop.
cp: cannot stat 'build/rk3399/release/bl31/bl31.elf': No such file or directory
make: *** No rule to make target 'realclean'.  Stop.
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make: *** No rule to make target 'mrproper'.  Stop.
cp: cannot stat '../build/bl31.elf': No such file or directory
make: *** No rule to make target 'pinebook-pro-rk3399_defconfig'.  Stop.
make: *** No targets specified and no makefile found.  Stop.
/home/joshua/Desktop/u-boot-build-scripts-master/build.sh: line 37: tools/mkimage: No such file or directory
dd: failed to open 'idbloader-spi.img': No such file or directory
cat: u-boot.itb: No such file or directory
cp: cannot stat 'idbloader-spi.img': No such file or directory
cp: cannot stat 'idbloader.img': No such file or directory
cp: cannot stat 'u-boot.itb': No such file or directory
make: *** No rule to make target 'mrproper'.  Stop.

Did you install aarch64-linux-gnu-gcc and use git clone --recursive?


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - mamboman777 - 07-07-2020

(07-07-2020, 09:54 AM)tophneal Wrote:
(07-07-2020, 09:52 AM)mamboman777 Wrote: Well, I got lots of errors on the build.sh.  I think I may be missing dependencies?

Code:
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make: *** No rule to make target 'realclean'.  Stop.
make: *** No rule to make target 'bl31'.  Stop.
cp: cannot stat 'build/rk3399/release/bl31/bl31.elf': No such file or directory
make: *** No rule to make target 'realclean'.  Stop.
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make: *** No rule to make target 'mrproper'.  Stop.
cp: cannot stat '../build/bl31.elf': No such file or directory
make: *** No rule to make target 'pinebook-pro-rk3399_defconfig'.  Stop.
make: *** No targets specified and no makefile found.  Stop.
/home/joshua/Desktop/u-boot-build-scripts-master/build.sh: line 37: tools/mkimage: No such file or directory
dd: failed to open 'idbloader-spi.img': No such file or directory
cat: u-boot.itb: No such file or directory
cp: cannot stat 'idbloader-spi.img': No such file or directory
cp: cannot stat 'idbloader.img': No such file or directory
cp: cannot stat 'u-boot.itb': No such file or directory
make: *** No rule to make target 'mrproper'.  Stop.

Did you install aarch64-linux-gnu-gcc and use git clone --recursive?
Thanks and sorry.  Did I mention I'm an (below) average Joe? :-)


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - mamboman777 - 07-07-2020

(07-07-2020, 09:54 AM)tophneal Wrote:
(07-07-2020, 09:52 AM)mamboman777 Wrote: Well, I got lots of errors on the build.sh.  I think I may be missing dependencies?

Code:
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make: *** No rule to make target 'realclean'.  Stop.
make: *** No rule to make target 'bl31'.  Stop.
cp: cannot stat 'build/rk3399/release/bl31/bl31.elf': No such file or directory
make: *** No rule to make target 'realclean'.  Stop.
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
make: *** No rule to make target 'mrproper'.  Stop.
cp: cannot stat '../build/bl31.elf': No such file or directory
make: *** No rule to make target 'pinebook-pro-rk3399_defconfig'.  Stop.
make: *** No targets specified and no makefile found.  Stop.
/home/joshua/Desktop/u-boot-build-scripts-master/build.sh: line 37: tools/mkimage: No such file or directory
dd: failed to open 'idbloader-spi.img': No such file or directory
cat: u-boot.itb: No such file or directory
cp: cannot stat 'idbloader-spi.img': No such file or directory
cp: cannot stat 'idbloader.img': No such file or directory
cp: cannot stat 'u-boot.itb': No such file or directory
make: *** No rule to make target 'mrproper'.  Stop.

Did you install aarch64-linux-gnu-gcc and use git clone --recursive?
Well, I appear to be soft bricked.  I downloaded, extracted, ran the build file and moved to a usb.  I plugged the usb into my PBP, copied the files over, then navigated to the folder with spiflash.bin in it and ran "sudo dd if=spiflash.bin of=/dev/mtd0" which appeared to run successfully.  I then clicked reboot.  The machine will not respond now.  I'm not getting any sort of light when I press the power button.  The charge light on the side is the only light I'm getting.  What can I do next to troubleshoot this?  I've tried pressing the reset button.


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - tophneal - 07-07-2020

(07-07-2020, 02:12 PM)mamboman777 Wrote: Well, I appear to be soft bricked.  I downloaded, extracted, rand the build file and moved to a usb.  I plugged the usb into my PBP, copied the files over, then navigated to the folder with spiflash.bin in it and ran "sudo dd if=spiflash.bin of=/dev/mtd0" which appeared to run successfully.  I then clicked reboot.  The machine will not respond now.  I'm not getting any sort of light when I press the power button.  The charge light on the side is the only light I'm getting.  What can I do next to troubleshoot this?  I've tried pressing the reset button.

Go to the bottom of this wiki page and follow those instructions to zero out the SPI: https://wiki.pine64.org/index.php/Pinebook_Pro_SPI

It may also be worth retrying using the instructions for writing to SPI that are given on that wiki page.


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - mamboman777 - 07-07-2020

(07-07-2020, 02:23 PM)tophneal Wrote:
(07-07-2020, 02:12 PM)mamboman777 Wrote: Well, I appear to be soft bricked.  I downloaded, extracted, rand the build file and moved to a usb.  I plugged the usb into my PBP, copied the files over, then navigated to the folder with spiflash.bin in it and ran "sudo dd if=spiflash.bin of=/dev/mtd0" which appeared to run successfully.  I then clicked reboot.  The machine will not respond now.  I'm not getting any sort of light when I press the power button.  The charge light on the side is the only light I'm getting.  What can I do next to troubleshoot this?  I've tried pressing the reset button.

Go to the bottom of this wiki page and follow those instructions to zero out the SPI: https://wiki.pine64.org/index.php/Pinebook_Pro_SPI

It may also be worth retrying using the instructions for writing to SPI that are given on that wiki page.
Thank you for your help.  I currently cannot get rkdeveloptool to install on my Manjaro x86 machine.  Below is the code.  I've tried directly in the terminal and through the package manager using the AUR.  It looks like --disable-werror is creating problems.  Any ideas here?

Code:
Preparing...
Cloning rkdeveloptool build files...
Checking rkdeveloptool dependencies...
Resolving dependencies...
Checking inter-conflicts...

Building rkdeveloptool...
==> Making package: rkdeveloptool 62-1 (Tue 07 Jul 2020 03:45:35 PM CDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating rkdeveloptool git repo...
Fetching origin
==> Validating source files with sha256sums...
    rkdeveloptool ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of rkdeveloptool git repo...
Cloning into 'rkdeveloptool'...
done.
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
configure.ac:12: installing 'cfg/compile'
configure.ac:19: installing 'cfg/config.guess'
configure.ac:19: installing 'cfg/config.sub'
configure.ac:7: installing 'cfg/install-sh'
configure.ac:7: installing 'cfg/missing'
Makefile.am: installing 'cfg/depcomp'
configure: WARNING: unrecognized options: --disable-werror
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for library containing iconv... none required
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBUSB1... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating cfg/Makefile
config.status: creating cfg/config.h
config.status: executing depfiles commands
configure: WARNING: unrecognized options: --disable-werror
make[1]: Entering directory '/var/tmp/pamac-build-joshua/rkdeveloptool/src/rkdeveloptool'
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT crc.o -MD -MP -MF .deps/crc.Tpo -c -o crc.o crc.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT RKBoot.o -MD -MP -MF .deps/RKBoot.Tpo -c -o RKBoot.o RKBoot.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT RKComm.o -MD -MP -MF .deps/RKComm.Tpo -c -o RKComm.o RKComm.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT RKDevice.o -MD -MP -MF .deps/RKDevice.Tpo -c -o RKDevice.o RKDevice.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT RKImage.o -MD -MP -MF .deps/RKImage.Tpo -c -o RKImage.o RKImage.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT RKLog.o -MD -MP -MF .deps/RKLog.Tpo -c -o RKLog.o RKLog.cpp
g++ -DHAVE_CONFIG_H -I. -I./cfg  -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -MT RKScan.o -MD -MP -MF .deps/RKScan.Tpo -c -o RKScan.o RKScan.cpp
mv -f .deps/RKBoot.Tpo .deps/RKBoot.Po
mv -f .deps/RKImage.Tpo .deps/RKImage.Po
mv -f .deps/crc.Tpo .deps/crc.Po
mv -f .deps/RKComm.Tpo .deps/RKComm.Po
mv -f .deps/RKLog.Tpo .deps/RKLog.Po
mv -f .deps/RKScan.Tpo .deps/RKScan.Po
mv -f .deps/RKDevice.Tpo .deps/RKDevice.Po
main.cpp: In function ‘bool _Z9mergeBootv.part.0()’:
main.cpp:1541:36: error: ‘%s’ directive output may be truncated writing up to 557 bytes into a region of size 5 [-Werror=format-truncation=]
1541 |  snprintf(buffer, sizeof(buffer), "%s", chip);
      |                                    ^~
......
1582 |   chipType = convertChipType(chip + 2);
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from DefineHeader.h:3,
                 from main.cpp:11:
/usr/include/bits/stdio2.h:67:35: note: ‘__builtin_snprintf’ output between 1 and 558 bytes into a destination of size 5
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[1]: *** [Makefile:471: main.o] Error 1
make[1]: Leaving directory '/var/tmp/pamac-build-joshua/rkdeveloptool/src/rkdeveloptool'
make: *** [Makefile:491: all-recursive] Error 1
==> ERROR: A failure occurred in build().



U-Boot with direct NVMe boot support for eMMC/SPI Flash - tophneal - 07-07-2020

Edit the pkgbuild to change that


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - mamboman777 - 07-07-2020

(07-07-2020, 02:51 PM)tophneal Wrote: Edit the pkgbuild to change that
Where is that located?


U-Boot with direct NVMe boot support for eMMC/SPI Flash - tophneal - 07-07-2020

You should be prompted when installing it by pamac. It’ll ask if you want to edit the pkgbuild before attempting to install.


RE: U-Boot with direct NVMe boot support for eMMC/SPI Flash - mamboman777 - 07-07-2020

(07-07-2020, 03:02 PM)tophneal Wrote: You should be prompted when installing it by pamac. It’ll ask if you want to edit the pkgbuild before attempting to install.
"--disable-werror" is not in the PKGBUILD but in the diff tab and that does not appear to be editable.

(07-07-2020, 03:02 PM)tophneal Wrote: You should be prompted when installing it by pamac. It’ll ask if you want to edit the pkgbuild before attempting to install.
Apparently this is the error in pacmac
Code:
main.cpp:1541:36: error: ‘%s’ directive output may be truncated writing up to 557 bytes into a region of size 5 [-Werror=format-truncation=]



U-Boot with direct NVMe boot support for eMMC/SPI Flash - tophneal - 07-07-2020

This’s is likely what I was trying to say:

https://wiki.archlinux.org/index.php/Makepkg#Makepkg_fails,_but_make_succeeds

Try adding the suggested option to the pkgbuild. Or you can try grabbing it from git and building it manually