:: [DNG] unoffic-grsec 4.9.27 kernel c…
Kezdőlap
Delete this message
Reply to this message
Szerző: Miroslav Rovis
Dátum:  
Címzett: dng
CC: Mathias Krause
Tárgy: [DNG] unoffic-grsec 4.9.27 kernel compile, one last hurdle
Hi!

I'm trying to compile grsec, unofficial, by minipli[1]:
https://github.com/minipli/linux-unofficial_grsec/tree/linux-4.9.x-unofficial_grsec

I think I got (maybe only) one serious hurdle (left to go) to install
grsec-hardened kernel in my Devuan machine[2].

I used the script that a lot of users followed in pre-corsac
grsecurity-packages for Debian, so actively until some two years ago,
passively still visited, and I'm (finally[3]) starting to adapt it for
Devuan[4]:

Grsecurity/Pax installation on Debian GNU/Linux
http://forums.debian.net/viewtopic.php?f=16&t=108616
and the very first poor-quality preview of Devuan-only script I attach:

grsec-dev1-compile.sh.gz (pls. note that's a preview even worse than my usual
            poor-quality scripting, no time yet)


And with that script I have the following hurdle to overcome. It's at
the very end of the srcipt, at the run of:

fakeroot make deb-pkg
(line 258)

Here is the excerpt (and Dev1_170512_fakeroot_make_deb-pkg_ERROR.txt.gz
is a much larger stretch of):

...
  CC      lib/swiotlb.o
  CC      lib/iommu-helper.o
  CC      lib/iommu-common.o
  CC      lib/syscall.o
  CC      lib/nlattr.o
  CC      lib/cpu_rmap.o
  CC      lib/dynamic_queue_limits.o
  CC      lib/glob.o
...
  CC      lib/string.o
  CC      lib/timerqueue.o
  CC      lib/vsprintf.o
  CC      lib/win_minmax.o
  AR      lib/lib.a
  EXPORTS lib/lib-ksyms.o
  LD      lib/built-in.o
  CC      arch/x86/lib/msr-smp.o
  CC      arch/x86/lib/cache-smp.o
  CC      arch/x86/lib/msr.o
  AS      arch/x86/lib/msr-reg.o
...
  CC      arch/x86/lib/usercopy.o
  CC      arch/x86/lib/usercopy_64.o
  AR      arch/x86/lib/lib.a
  EXPORTS arch/x86/lib/lib-ksyms.o
  LD      arch/x86/lib/built-in.o
  CC      virt/lib/irqbypass.o
  LD      virt/lib/built-in.o
  LD      virt/built-in.o
  LD      vmlinux.o
  MODPOST vmlinux.o
...
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  KSYM    .tmp_kallsyms1.o
  KSYM    .tmp_kallsyms2.o
  LD      vmlinux
  SORTEX  vmlinux
  SYSMAP  System.map
  CC      arch/x86/boot/a20.o
  AS      arch/x86/boot/bioscall.o
  CC      arch/x86/boot/cmdline.o
  AS      arch/x86/boot/copy.o
  HOSTCC  arch/x86/boot/mkcpustr
  CPUSTR  arch/x86/boot/cpustr.h
  CC      arch/x86/boot/cpu.o
  CC      arch/x86/boot/cpuflags.o
  CC      arch/x86/boot/cpucheck.o
  CC      arch/x86/boot/early_serial_console.o
  CC      arch/x86/boot/edd.o
  LDS     arch/x86/boot/compressed/vmlinux.lds
  AS      arch/x86/boot/compressed/head_64.o
  VOFFSET arch/x86/boot/compressed/../voffset.h
...
  CC      arch/x86/boot/video-vga.o
  CC      arch/x86/boot/video-vesa.o
  CC      arch/x86/boot/video-bios.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  OBJCOPY arch/x86/boot/vmlinux.bin
  HOSTCC  arch/x86/boot/tools/build
  BUILD   arch/x86/boot/bzImage
Setup is 15596 bytes (padded to 15872 bytes).
System is 7291 kB
CRC b8db2ca1
Kernel: arch/x86/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 5 modules
...
  CC      drivers/video/backlight/lcd.mod.o
  LD [M]  drivers/video/backlight/lcd.ko
  BUILDDEB
  INSTALL arch/x86/kernel/test_nx.ko
  INSTALL drivers/media/dvb-frontends/helene.ko
  INSTALL drivers/media/dvb-frontends/mn88472.ko
  INSTALL drivers/media/dvb-frontends/mn88473.ko
  INSTALL drivers/video/backlight/lcd.ko
  DEPMOD  4.9.27-unofficial_grsec170512-14
  CHK     include/generated/uapi/linux/version.h
  HOSTCC  scripts/unifdef
  INSTALL usr/include/asm-generic/ (35 files)
  INSTALL usr/include/drm/ (21 files)
  INSTALL usr/include/linux/android/ (1 file)
...
  INSTALL usr/include/xen/ (4 files)
  INSTALL usr/include/uapi/ (0 file)
  INSTALL usr/include/asm/ (65 files)
  CHECK   usr/include/asm-generic/ (35 files)
  CHECK   usr/include/drm/ (21 files)
  CHECK   usr/include/linux/android/ (1 files)
  CHECK   usr/include/linux/byteorder/ (2 files)
  CHECK   usr/include/linux/caif/ (2 files)
...
  CHECK   usr/include/sound/ (15 files)
  CHECK   usr/include/video/ (3 files)
  CHECK   usr/include/xen/ (4 files)
  CHECK   usr/include/uapi/ (0 files)
  CHECK   usr/include/asm/ (65 files)
  CHK     include/generated/uapi/linux/version.h
  INSTALL debian/headertmp/usr/include/asm-generic/ (35 files)
  INSTALL debian/headertmp/usr/include/drm/ (21 files)
  INSTALL debian/headertmp/usr/include/linux/android/ (1 file)
  INSTALL debian/headertmp/usr/include/linux/byteorder/ (2 files)
...
  INSTALL debian/headertmp/usr/include/video/ (3 files)
  INSTALL debian/headertmp/usr/include/xen/ (4 files)
  INSTALL debian/headertmp/usr/include/uapi/ (0 file)
  INSTALL debian/headertmp/usr/include/asm/ (65 files)
Using default distribution of 'unstable' in the changelog
Install lsb-release or set $KDEB_CHANGELOG_DIST explicitly
dpkg-gencontrol: error: illegal package name 'linux-headers-4.9.27-unofficial_grsec170512-14': character '_' not allowed
scripts/package/Makefile:91: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 255
Makefile:1334: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2
...


I understand some of that error just above, and I think I see what needs
to be different. Also I think I saw (but wasn't able to find it) that
Mathias Krause made a notice about it in his github (but he hasn't yet
fixed it in that minipli repo of his, the link way in the top; hi,
Mathias, I decide to send this question to you as well[5]). Here:

# find linux-4.9.27 -name 'control'
linux-4.9.27/debian/control
#
( see attachment control.gz, it's full of
4.9.27-unofficial_grsec170512-14 where underscore is the illegal
character )

and:

# find linux-4.9.27 -name '*linux-headers-4.9.27-unofficial_grsec170512-14*'
linux-4.9.27/debian/hdrtmp/usr/share/doc/linux-headers-4.9.27-unofficial_grsec170512-14
linux-4.9.27/debian/hdrtmp/usr/src/linux-headers-4.9.27-unofficial_grsec170512-14
#

(
see attachment changelog.Debian.gz, same issue; the second find is only
in the name:
# find linux-4.9.27/debian/hdrtmp/usr/src/ -name '*unofficial_grsec*'
linux-4.9.27/debian/hdrtmp/usr/src/linux-headers-4.9.27-unofficial_grsec170512-14
#
)

So my hope is, if I fix those files, rename that one just above, and sed
's/_/-/g' (or so) on the other ones, manually, should dpkg-gencontrol
accept to go on and would dpkg-gencontrol be able to roll up its part
and then... Ha!, that's another issue here, that's actually my real
issue...! And then what, how to finish creating the packages?

I hope I've explained the issue... Can this be fixed, post-error, after
the erroring out of the compilation process as in the
Dev1_170512_fakeroot_make_deb-pkg_ERROR.txt.gz (or the above briefer
excerpt)? I mean, without recompiling. With the source as it is right
after that error, but with these deficiencies manually fixed?

---
[1] Mathias Krause, one of the Mempo creators, and also a contributors
    to KSPP and a critic of it (KSPP is under umbrella of the big
    Schmoog, and lots of us will consider it a defeat of the free
    software if those fragments and pieces of grsecurity/PaX that KSPP
    will be allowed to get into the kernel by the few (sic!) who decide
    what gets and what doesn't into the kernel should one day be all
    that has remained of the great grsecurity project), and I really
    prefer to hope that his/his team's/other adopters' unofficial
    grsecurity patches to vanilla kernel should take the baton (
    https://grsecurity.net/passing_the_baton.php ) and move on with a
    post-grsecurity, but who knows, only genii can continue from where
    spender and PaX Team left...


[2] which I installed in Air-Gapped. No jokes in the (censorial/intrusional)
    environment for me. Have a look at what some subject(s)/something
    turned my Gentoo into, even though I was building in Air-Gapped, and
    used only cloned system for online:
    Strange script planted with Bash
    https://www.croatiafidelis.hr/foss/cap/cap-170504-strange-bash/


[3] That has become possible for me only with the availability of verifiably
    available-in-offline repo (
    which is the Devuan Jessie RC2 DVD; in pre-systemDestruction Debian
    I used to build from Debian Weekly Testing, which used to be some
    50G or so, some 12 DVDs, by using jigdo with my own
    jigdo-automate-scripts:
    https://github.com/miroR/jigdo-automate-scripts
    ) because I build my systems in Air-Gapped, the Gentoo of the
    cap-170504-strange-bash above lasted some four years, and it is only
    now limitedly (I believe) broken into, and if I weren't building it
    in Air-Gapped, it wouldn't have lasted even only a few
    weeks/months... Any plans to get a Testing Weekly Devuan PGP-signed
    media and to be getting it with jigdo? But I am patient... and happy
    already... I finally installed Devuan proper, and with encrypted
    root and swap...


[4] Will git.devuan.org be getting more reliable in availability, is that
    expected? I wouldn't mind that it couldn't possibly be as perfect and
    fast as gihub, for that the Team would need to collude with the mighty,
    which I hope they never will (some distros do...), but just solidly
    reliably available, any hope for that? Because I would prefer using
    git.devuan.org instead of github...


[5]    Mathias has already been kind to teach me with a quick tip how to
build his unoffic-grsec in Gentoo:
    Technical repercussions of grsecurity removal
    https://lists.gt.net/gentoo/hardened/326262#326262
    and readers should read that thread, to learn things about KSPP and
    kernel and the very few who decide for us all, recently even openly
    but quietly against free software:
    < same subject >
    https://lists.gt.net/gentoo/hardened/326254#326254
    and the links from there, esp.: find "Shawn", and "Karen Sandler"


Sincere regards!
--
Miroslav Rovis
Zagreb, Croatia
https://www.CroatiaFidelis.hr