PINE64
Help needed so a complete NOOB can compile a kernel, please - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98)
+--- Forum: Linux on RockPro64 (https://forum.pine64.org/forumdisplay.php?fid=101)
+--- Thread: Help needed so a complete NOOB can compile a kernel, please (/showthread.php?tid=6521)



Help needed so a complete NOOB can compile a kernel, please - dukla2000 - 09-10-2018

OK, so spurred into action by Deathcrow here, I decided the time had come for me to have another bash at compiling a kernel. "It's pretty easy. " - Ha Wink

1) git clone https://github.com/ayufan-rock64/linux-mainline-kernel.git - no problems. (Will need to update at some stage but that can wait!)

2) Needed to install pkg-config, libncurses-dev, bison, flex and fakeroot as well

3) make menuconfig - could presumably spend months here but for a first run went with the defaults. Presume .config turns into /boot/config... in due course so can peruse ayufan versions and load/mod them when I get smarter.

4) make -j6 bindeb-pkg was going really well until

Code:
... 
 CC      arch/arm64/kernel/asm-offsets.s
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/recordmcount
  HOSTCC  scripts/sortextable
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/asn1_compiler
  UPD     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  HOSTCC  scripts/extract-cert
<stdin>:1335:2: warning: #warning syscall rseq not implemented [-Wcpp]
scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory
 #include <openssl/bio.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.host:90: recipe for target 'scripts/extract-cert' failed
make[4]: *** [scripts/extract-cert] Error 1
make[4]: *** Waiting for unfinished jobs....
  LDS     arch/arm64/kernel/vdso/vdso.lds
  VDSOA   arch/arm64/kernel/vdso/gettimeofday.o
  VDSOA   arch/arm64/kernel/vdso/note.o
  VDSOA   arch/arm64/kernel/vdso/sigreturn.o
  VDSOL   arch/arm64/kernel/vdso/vdso.so.dbg
  VDSOSYM include/generated/vdso-offsets.h
Makefile:1045: recipe for target 'scripts' failed
make[3]: *** [scripts] Error 2
debian/rules:4: recipe for target 'build' failed
make[2]: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
scripts/package/Makefile:79: recipe for target 'bindeb-pkg' failed
make[1]: *** [bindeb-pkg] Error 2
Makefile:1337: recipe for target 'bindeb-pkg' failed
make: *** [bindeb-pkg] Error 2

Presumably I need to do something useful to hold openssl together but not sure what - help/suggestions welcome please!

Also I seem to be trying to build pretty much in the footsteps of Ayufan (dpkg-buildpackage: info: source package linux-4.18.0-rc8-76686-g45828c4db727) - cant find the right place to put my label so it is clear I created the resulting mess (and to distinguish my efforts eventually in extlinux.conf ?)

TIA


RE: Help needed so a complete NOOB can compile a kernel, please - dukla2000 - 09-11-2018

(09-10-2018, 05:21 PM)dukla2000 Wrote: Presumably I need to do something useful to hold openssl together but not sure what - help/suggestions welcome please!
OK - sorted this bit - need libssl-dev. First hack compile 55 minutes on my ROCKpro64. Not sure if it even boots, now to take the config part seriously.


RE: Help needed so a complete NOOB can compile a kernel, please - Takenover83 - 09-24-2018

I want to thank you for documenting your progress. Thanks to a few of your post I was able to build the kernel, enable the zram module, and push my clocks to 2016/1512MHz. That little bit of speed boost sure did help my plex server. I was seeing transcodes for a 1080p file doing 0.9. Now I am seeing 1.1, which is enough for real time encoding. I know this likely won't apply to all the files plex tries to transcode, but the little bit of performance boost is still encouraging.


RE: Help needed so a complete NOOB can compile a kernel, please - dukla2000 - 09-24-2018

(09-24-2018, 04:15 PM)Takenover83 Wrote: I want to thank you for documenting your progress. Thanks to a few of your post I was able to build the kernel, enable the zram module, and push my clocks to 2016/1512MHz. That little bit of speed boost sure did help my plex server. I was seeing transcodes for a 1080p file doing 0.9. Now I am seeing 1.1, which is enough for real time encoding. I know this likely won't apply to all the files plex tries to transcode, but the little bit of performance boost is still encouraging.

Pleasure. Yup 2 weeks ago I had never compiled a kernel, now I am compiling 2 or 3 times a day playing with options (and breaking quite a few things!) I guess my main advice would be to take care of your .config: sometimes I have got carried away with too many changes at once and then struggled with a barely working machine to recover.

What kernel are you playing with? I am playing with 4.18 and one unresolved issue is the scheduling tends to favour the A53 cores. But I have been running the A72s at 2108 with no noticeable problem - cpuminer ran fine for 10 minutes (via sbc-bench -T 70) without hitting 80C and obviously loads all the cores, as does a full kernel compile for about 25 minutes.


RE: Help needed so a complete NOOB can compile a kernel, please - Takenover83 - 09-24-2018

First build was 4.18. Did you just edit rk3399-opp.dtsi manually? Like so? Or did you use another method?
Code:
};
opp08 {
opp-hz = /bits/ 64 <2108000000>;
opp-microvolt = <1250000>;
};



RE: Help needed so a complete NOOB can compile a kernel, please - dukla2000 - 09-24-2018

Effectively yes. In fact first step was to edit rk3399-rockpro64.dts to use rk3399-op1-opp.dtsi then I just changed the 2016 there to 2108. (Seems to be a pattern 16 08 00 for some reason.)