c6dfea0ebd
discussed on current. The following variables are defined (for now): osname (defaults to "Linux") Allow users to change the name of the OS as returned by uname(2), specially added for all those Linux Netscape users and statistics maniacs :-) We now have what we all wanted! osrelease (defaults to "2.2.5") Allow users to change the version of the OS as returned by uname(2). Since -current supports glibc2.1 now, change the default to 2.2.5 (was 2.0.36). oss_version (defaults to 198144 [0x030600]) This one will be used by the OSS_GETVERSION ioctl (PR 12917) which I can commit now that we have the MIB. The default version number is the lowest version possible with the current 'encoding'. A note about imprisoned processes (see jail(2)): These variables are copy-on-write (as suggested by phk). This means that imprisoned processes will use the system wide value unless it is written/set by the process. From that moment on, a copy local to the prison will be used. A note about the implementation: I choose to add a single pointer to struct prison, because I didn't like the idea of changing struct prison every time I come up with a new variable. As a side effect, the extra storage is only needed when a variable is set from within the prison. This also minimizes kernel bloat when the Linuxulator is not used; both compiled in or as a module. Reviewed by: bde (first version only) and phk
43 lines
1.2 KiB
Makefile
43 lines
1.2 KiB
Makefile
# $Id: Makefile,v 1.25 1999/01/26 21:29:01 julian Exp $
|
|
|
|
.PATH: ${.CURDIR}/../../i386/linux
|
|
KMOD= linux
|
|
SRCS= linux_file.c linux_ioctl.c linux_misc.c linux_signal.c \
|
|
linux_ipc.c linux_socket.c linux_stats.c linux_mib.c \
|
|
linux_dummy.c linux_sysent.c linux_sysvec.c linux_util.c \
|
|
imgact_linux.c opt_compat.h opt_linux.h opt_vmpage.h vnode_if.h
|
|
OBJS= linux_locore.o
|
|
MAN8= linux.8
|
|
|
|
CFLAGS+= -DCOMPAT_LINUX -DVM_STACK #-DDEBUG
|
|
EXPORT_SYMS=_linux_mod
|
|
CLEANFILES+= vnode_if.h vnode_if.c linux_genassym.o linux_genassym \
|
|
linux_assym.h opt_compat.h opt_linux.h opt_vmpage.h
|
|
|
|
build-tools: linux_genassym
|
|
|
|
linux_assym.h: linux_genassym
|
|
./linux_genassym > linux_assym.h
|
|
|
|
linux_locore.o: linux_locore.s linux_assym.h
|
|
${CC} -c -x assembler-with-cpp -DLOCORE -DKERNEL ${CFLAGS} \
|
|
${.IMPSRC} -o ${.TARGET}
|
|
|
|
linux_genassym.o: linux_genassym.c linux.h @ machine
|
|
${CC} -c ${CFLAGS} -UKERNEL ${.IMPSRC}
|
|
|
|
linux_genassym: linux_genassym.o
|
|
${CC} -static ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
|
|
|
opt_compat.h:
|
|
echo "#define COMPAT_43 1" > opt_compat.h
|
|
|
|
opt_linux.h opt_vmpage.h:
|
|
touch ${.TARGET}
|
|
|
|
afterinstall:
|
|
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
|
|
${.CURDIR}/linux.sh ${DESTDIR}/usr/bin/linux
|
|
|
|
.include <bsd.kmod.mk>
|