On 2020-04-10 10:10, Stefan Sperling wrote:
> On Fri, Apr 10, 2020 at 09:35:16AM -0400, Nick Holland wrote:
>> Question about kernel randomization and relinking...
>>
>> It seems to take a fair amount of RAM, at least for systems that
>> are forced to run i386. And I mean real RAM -- swap doesn't seem
>> to cut it.
>>
>> I discovered that several machines I was intending on using for
>> minimal purposes just couldn't complete relinking. So I built a
>> VM and started playing with the RAM.
>>
>> Built with 1G RAM, default was a 1.2G swap, worked fine.
>> Reduced to 256MB RAM, Kernel failed to relink. As with my old
>> junk.
>>
>> The magic number seemed to be between 320MB (failed) and 384MB
>> (worked) of RAM. Ok, fine.
>
> FWIW, my soekris net5501 with 256MB of RAM and 512MB swap does manage
> to relink a kernel (on 6.6 + syspatches).
Whoops. Guess I should have mentioned, that was -current, as of
yesterday
OpenBSD 6.7-beta (GENERIC.MP) #110: Thu Apr 9 01:20:52 MDT 2020
dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP
real mem = 334970880 (319MB)
avail mem = 313077760 (298MB)
and probably a couple weeks ago for the real (old) hw.
I'm curious if your Soekris can handle 6.7-beta.
Nick.
>
> # ls -l relink.log
> -rw-r--r-- 1 root wheel - 507B Apr 10 13:33 relink.log
> # cat relink.log
> (SHA256) /bsd: OK
> LD="ld" LDFLAGS="-g" sh makegap.sh 0xcccccccc gapdummy.o
> ld -T ld.script -X --warn-common -nopie -o newbsd ${SYSTEM_HEAD} vers.o
> ${OBJS}
> text data bss dec hex
> 11815507 267748 1101824 13185079 c93037
> mv newbsd newbsd.gdb
> ctfstrip -S -o newbsd newbsd.gdb
> rm -f bsd.gdb
> mv -f newbsd bsd
> install -F -m 700 bsd /bsd && sha256 -h /var/db/kernel.SHA256 /bsd
>
> Kernel has been relinked and is active on next reboot.
>
> SHA256 (/bsd) =
> a940ce989d708e5b87a1186ee81bd624066baeabe67b8405b52e4fa2988b565
>
>
> # dislabel -pm wd0
> # size offset fstype [fsize bsize cpg]
> a: 353.0M 64 4.2BSD 2048 16384 5624 # /
> b: 511.1M 722944 swap # none
> c: 15280.0M 0 unused
> d: 444.8M 1769728 4.2BSD 2048 16384 7116 # /tmp
> e: 607.7M 2680576 4.2BSD 2048 16384 9685 # /var
> f: 1703.0M 3925216 4.2BSD 2048 16384 12958 # /usr
> g: 505.8M 7412896 4.2BSD 2048 16384 8060 # /usr/X11R6
> h: 1632.9M 8448736 4.2BSD 2048 16384 12958 # /usr/local
> i: 1381.2M 11792960 4.2BSD 2048 16384 12958 # /usr/src
> j: 5282.4M 14621632 4.2BSD 2048 16384 12958 # /usr/obj
> k: 2850.9M 25439936 4.2BSD 2048 16384 12958 # /home
>