LINPROCFS auf amd64

Hayabuzza

Well-Known Member
Hat schon einer von euch den

options LINPROCFS

in einen amd64 kernel FreeBSD 5.3 erfolgreich eingebuden.

Ich noch nicht bekomme immer syntax error, obwohl die COMPAT_LINUX32 sowie PSEUDOFS in den kernel drin sind.

Langsam ist die FreeBSD Doku genau so schlecht und veraltet wie die von Linux. :zitter:
 
Kannst du erfolgreich das Modul linprocfs laden? Falls nicht oder es nicht vorhanden sein sollte funktioniert es möglicherweise gar nicht. Habe keinen AMD64 und kann es daher nicht nachvollziehen. :rolleyes:
 
Hayabuzza schrieb:
Hat schon einer von euch den

options LINPROCFS

in einen amd64 kernel FreeBSD 5.3 erfolgreich eingebuden.
Jupp. linprocfs ist funktionabel seit es in FreeBSD 5.2-CURRENT für amd64 eingeführt wurde. (Siehe auch http://www.bsdforen.de/showthread.php?t=6003 und http://people.freebsd.org/~tjr/linux32.html)
Ich habe unter amd64 5.3-STABLE problemlos Staroffice 7, linux-jdk1.5 (benötigen beide gemountetes linprocfs) und noch einige andere 32-Bit Linux Applikationen laufen!

Hayabuzza schrieb:
Ich noch nicht bekomme immer syntax error, obwohl die COMPAT_LINUX32 sowie PSEUDOFS in den kernel drin sind.
Fehlt dir vielleicht noch

options COMPAT_43

in deinem Kernel?
Die Doku nach der ich vorgegangen bin gibts hier.

Hayabuzza schrieb:
Langsam ist die FreeBSD Doku genau so schlecht und veraltet wie die von Linux. :zitter:
Wie du meinst....

@AceX5
Unter amd64 gibts (noch) nicht alle Kernelmodule, die unter i386 verfügbar sind. Dazu gehören u. A. der Linuxolator und Linprocfs.

[EDIT]
Noch ein interessanter Link zum Thema FreeBSD-amd64 und Linux32-Unterstützung:
http://forums.bsdnexus.com/viewtopic.php?t=297
 
Zuletzt bearbeitet:
Es sind alle optionen drin die für die linux emu notwendig sind

wenn ich die zeile 50

options LINPROCFS

hineinschreiber bekomme ich beim makebuoldkernel KERNCONF=FOO

systax error Zeile 50

wenn die option in zeile 20 setze bekomme ich

syntax error Zeile 20

Auch wenn mein Alkoholspiegel im Blutt selten unter 1 Promille herunterfellt, bekommte ich noch eine Zeile ohne Schreibfehler hin :D
 
Erfolgsmeldung

Möchte hier mal ne Erfolgsmeldung absetzen. Funktioniert tadellos. :)

Mittels Linux-Emulation habe ich jetzt unter FreeBSD/amd64 am laufen.:
- Java jdk 1.5
- OpenOffice 1.3
- Acrobat Reader

Und dabei musste ich keine Klimmzüge machen, wie etwa bei der Installation aus den Ports. Einfach nur die jeweilige Linux Binaries gezogen und die Setups ausgeführt.

Somit ist die Desktop-Funktionalität auf amd64 voll hergestellt.

Ich mach immer gerne Screenshots :):
Screenshot

Freundlichst,

r0b0
 
Ich kann nach dem Durchführen von cvsup auch die von mir
begehrte LINPROCFS option in meinen Kernel einkompielieren :D
 
@r0b0

bist du sicher, dass du die amd64 Version benutzten tust. Bei mit kacken die bins immer ab.
Beschreibe mal näher wie du das hingekriegt hast.

Hast du vielleicht die linuxemulation erfolgreich aus den ports gebaut? :gpaul: :apaul:
 
Die Linux-Bases aus den Ports haben bei mir ned gefunzt, deshalb bin ich nach folgendem Howto vorgangen:

http://people.freebsd.org/~tjr/linux32.html

Das funzt weitestgehend problemabstinent unter 5.3-RELEASE, 5.3-STABLE und 6.0-CURRENT auf amd64. Wie ihr das JDK zum laufen bekommen habt würde mich aber schonma interessieren, da ich bereits am JRE gescheitert bin. Bei der Sache mit OOo kann ich zustimmen, das läuft mit der gleichen Stabilität mit der es auf Linux nativ rennt.

Alles in allem würde ich die Linux32-Emu als durchaus gelungen und nützlich bezeichnen.

Schönen Abend noch allerseits :)

EDIT:
Evtl. wäre noch ganz interessant, was uname -rsm sagt bei Dir.
 
Zuletzt bearbeitet:
Hayabuzza schrieb:
@r0b0
...
Beschreibe mal näher wie du das hingekriegt hast.
...
Hast du vielleicht die linuxemulation erfolgreich aus den ports gebaut? :gpaul: :apaul:

Ja, die Linux-Emu aus den Ports. Dazu muss das Makefile gepatcht werden. Ich bin weitestgehend nach folgender Anleitung vorgegangen.:

Code:
Subject: How I got linux emulation to work for AMD64 on RC1
From: lars.tunkrans [at] bredband.net (Lars Tunkrans)
Newsgroups: freebsd.ports
 Organization: None
 Date: Oct 26 2004 22:17:34
 
This is a step by step guide to get linux emulation to run
on AMD64 5.3-RC1 using the standard emulators/linux_base port.

This is pulled together from the previous work done by Tim Robbins and Francois
Tigeot.

I posted this on freebsd-amd64  three days ago and no one has yet been opposed
to this
procedure. If you update the linux-base Makefile it can still be tested before
5.3 RELEASE.

1.) Put these varaiables in the Kernel config file:
     /usr/src/sys/amd64/conf/your_kernel_config_file

    options     LINPROCFS
    options     COMPAT_43
    options     COMPAT_LINUX32

    Rebuild the kernel and install it !

2.) Edited /etc/fstab  for linprocfs , add the line:

   none    /compat/linux/proc    linprocfs    rw    0    0


3.) Edit  /etc/rc.conf  and add the line:

   linux_enabled="YES"

4.) Reboot.

5.) Patch  /usr/ports/emulators/linux_base/Makefile with
     Francois Tigeot's patch.

     Put the patch below  in /usr/ports/emulators/linux_base/patchfile
     run:

     # patch -p0 < patchfile

---------------<snip>------------------
--- 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}
-------------------<snip>--------------------------


6.)  Install  linux_base

  # cd /usr/ports/emulators/linux_base
  # make install

7.)  Fix the library searchpath for the linux Emulator to
      find the linux X libraries. Brand some binaries as Linux binaries,
      This is done in linux_base makefile for i386. These commands need to be
      incerted in the linux_base Makefile ( for production use) in addition to
the
      patch under (5.)

# cd /usr/compat/linux
# brandelf -t Linux sbin/ldconfig
# brandelf -t Linux sbin/sln
# brandelf -t Linux sbin/rpm
# echo '/usr/X11R6/lib' > etc/ld.so.conf
# sbin/ldconfig

8.)  Reboot again.

Install desired Linux apps and run.

Regards
//Lars

Der Patch hat bei mir nicht mehr funktioniert. Ich habe das Makefile per Hand editiert. Java habe ich mit dem offiziellen Sun-Linux-binary-Installer installiert, sehr komfortabel.

Ich hoffe das hilft,

r0b0
 
Zurück
Oben