On 04/09/2016 02:52 PM, Gordan Bobic wrote: > On 09/04/16 13:25, Jacco Ligthart wrote: >> On 04/09/2016 01:54 PM, Bjarne Saltbæk wrote: >>> Hi Jacco. >>> >>> >>> >Question: do we need to 'build' these both on RSEL6 and RSEL7 or is >>> just once enough? I know it works installing one build on 6 on 7 (and >>> vice versa). >of course for the main kernel, it doesn't matter. that >>> is just the upstream compiled thing. it could only matter for the >>> kernel-devel package. >>> >>> I am not a developer - but my gut feeling says yes since the kernel is >>> a static binary build from libraries in the OS. >> >> uhm, no. This kernel is the binary build that's on their git. the only >> thing the rpm does is package whatever they build. >> (https://github.com/raspberrypi/firmware/) > > Are you saying the kernel isn't built from source, but is just > repackaging the binaries provided? Is there no way to build it from > source and only using the binary-only blobs as necessary?
yes, that's what it is. We could probably also build from source. At the time I made this, I was mostly annoyed by unpackaged (and hence difficult to update) stuff in the rpi image. > >> what the upstream kernel misses is the "devel" part. Based on the >> upstream binary build we could not compile our own extra modules. >> the only build steps are these: >> make mrproper >> cp arch/arm/configs/bcmrpi_defconfig .config >> make olddefconfig >> make modules_prepare >> >> actually, most of this should be source code. maybe 'file' can help >> me here. > > Would it be worth looking at what the spec file does? That produces > the devel package, and if the sources are there, the headers should be > packageable. the make commands above are directly from the spec ... I find the term 'headers' confusing here. We use the 'kernel-headers' package from the upstream provider. And next to that board specific 'kernel' and 'kernel-devel' packages. > >> This is the result of a sort/unique/count of 'file' over all files under >> /usr/src/kernel: >> >> 1 ASCII C program text, with very long lines >> 1 a /usr/bin/env python script text executable >> 1 awk script text executable >> 1 core file (Xenix) >> 1 exported SGML document text >> 1 FORTRAN program >> 1 lex description text >> 1 XML document text >> 2 ASCII assembler program text >> 2 a /usr/bin/env perl script text executable >> 3 ASCII text, with very long lines >> 4 UTF-8 Unicode English text >> 6 a /usr/bin/python script text executable >> 7 a /usr/bin/perl script text executable >> 7 Bourne-Again shell script text executable >> 7 Python script text executable >> 11 a /usr/bin/perl -w script text executable >> 12 ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically >> linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> 22 UTF-8 Unicode Pascal program text >> 33 POSIX shell script text executable >> 41 OS/2 REXX batch file text >> 48 ASCII C++ program text >> 51 ASCII make commands text >> 67 ASCII Pascal program text >> 81 UTF-8 Unicode C program text >> 1493 ASCII text >> 1829 ASCII English text >> 2350 empty >> 4164 ASCII C program text >> >> everything, but 12 items is just text. those 12 items are: >> ./scripts/conmakehash: ELF 32-bit >> LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared >> libs), for GNU/Linux 2.6.32, stripped >> ./scripts/basic/bin2c: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >> dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> ./scripts/basic/fixdep: ELF 32-bit LSB executable, ARM, version 1 >> (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, >> stripped >> ./scripts/recordmcount: ELF 32-bit LSB executable, ARM, version 1 >> (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, >> stripped >> ./scripts/kconfig/conf: ELF 32-bit LSB executable, ARM, version 1 >> (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, >> stripped >> ./scripts/pnmtologo: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >> dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> ./scripts/kallsyms: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >> dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> ./scripts/genksyms/genksyms: ELF 32-bit LSB executable, ARM, version 1 >> (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, >> stripped >> ./scripts/dtc/dtc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >> dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> ./scripts/sortextable: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >> dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> ./scripts/mod/modpost: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >> dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped >> ./scripts/mod/mk_elfconfig: ELF 32-bit LSB executable, ARM, version 1 >> (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, >> stripped >> >> I think, based on this, that just once should suffice. >> Am I missing something here? > > From what I gather, the only thing missing is a suitable .spec file. > > Gordan > > _______________________________________________ > users mailing list > [email protected] > https://lists.redsleeve.org/mailman/listinfo/users _______________________________________________ users mailing list [email protected] https://lists.redsleeve.org/mailman/listinfo/users
