PINE64
Error building Rock 64 kernel - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCK64 (https://forum.pine64.org/forumdisplay.php?fid=85)
+--- Forum: Linux on Rock64 (https://forum.pine64.org/forumdisplay.php?fid=88)
+--- Thread: Error building Rock 64 kernel (/showthread.php?tid=5705)



Error building Rock 64 kernel - Bapple - 02-13-2018

I did a git clone of the rock64 image from:

https://github.com/ayufan-rock64/linux-mainline-kernel

I had tried doing a simple "make" but am getting an error in scripts/link-vmlinux.sh, so apparently this is not the right way to build a kernel.

What is the proper procedure?  I need to build a few device drivers that aren't built normally and just need a valid kernel to build against.

Thanks,

Bob


RE: Error building Rock 64 kernel - xalius - 02-13-2018

Are you crosscompiling or building on the Rock64? Which config are you using?


RE: Error building Rock 64 kernel - Bapple - 02-13-2018

I'm building right on the Rock64, using an NFS mounted volume where the sources are located. I tried using oldconfig. Basically I've got an "operator error" kind of problem and just need a hint as to what the procedural errors are.

Thanks

Bob


RE: Error building Rock 64 kernel - xalius - 02-13-2018

I am  currently on the road, can give you some hints later today... but you want to start with


Code:
make rockchip_linux_defconfig

then 

Code:
make menuconfig

add the options you need and

Code:
make -j5

after that you should have everything built... building on the Rock64 will take quite some time if you dont have a heatsink and the cores get throttled, it should be around 40 minutes with good cooling...


----------------

If you want to cross-compile the kernel on a PC which is  a lot faster, you need a aarch64-linux-gnu- toolchain which usually comes with most distros (Ubuntu, Fedora at least...) and the steps are more or less the same, but you have to prefix everything with:

Code:
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

e.g.

Code:
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make rockchip_linux_defconfig
-----------
To redirect the make install / make modules_install targets to a directory of your chosing, define INSTALL_PATH=.... and INSTALL_MOD_PATH=...  so you can get the files needed to move over to the filesystem on your board... run as normal user / not root or sudo...
Code:
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_PATH=<some directory> make install
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=<some directory> make modules_install