Fallback elf brand and Linux emulation
Francois Tigeot
ftigeot at wolfpond.org
Wed Oct 6 07:14:25 PDT 2004
Hi,
I attempted today to install emulators/linux_base on a 5.3-BETA7 amd64
machine. The port successfully set the sysctl kern.fallback_elf_brand to
the correct linux value but the rpm installation failed with the following
error message: "ELF binary type "0" not known."
I did a quick sysctl -a | grep elf which gave me the following values:
kern.elf64.fallback_brand: 3
kern.fallback_elf_brand: 3
kern.elf32.fallback_brand: -1
Setting kern.elf32.fallback_brand to 3 allowed the port to install.
The same sysctl exists also on the i386 architecture. Is there any reason
to use kern.fallback_elf_brand and not kern.elf32.fallback_brand ?
I have attached a small patch to allow linux_base to install out-of-the
box on amd64. It still seems to work on i386.
--
Francois Tigeot
-------------- next part --------------
--- Makefile.orig Wed Oct 6 15:13:33 2004
+++ Makefile Wed Oct 6 16:05:51 2004
@@ -110,6 +110,9 @@
RPM= LC_ALL=C rpm
RPMFLAGS= --root ${LINUXBASE} --dbpath ${DBPATH} --nodeps \
--replacepkgs --ignoreos --ignorearch
+.if (${ARCH} == "amd64")
+RPMFLAGS+= --noscripts
+.endif
RPMDIR= ${DISTDIR}/${DIST_SUBDIR}
REMOVE_DIRS= boot dev home root tmp var/tmp usr/local usr/tmp
@@ -118,7 +121,7 @@
etc/protocols
BRAND_FILES= bin/rpm sbin/ldconfig sbin/sln
-FALLBACK_ELF_MIB= kern.fallback_elf_brand
+FALLBACK_ELF_MIB= kern.elf32.fallback_brand
LINUX_ELF= 3
PREVIOUS_ELF!= /sbin/sysctl -n ${FALLBACK_ELF_MIB}
More information about the freebsd-amd64
mailing list