# RAM als Swap-Laufwerk übers Netz

## musv

Guten Abend, 

ich hab endlich meine NAS mehr oder weniger zum Laufen bekommen. D.h. ich bin noch am Compilieren. 

Die NAS hat 512 mb RAM, mein Desktoprechner 24GB. Leider krieg ich nicht alles mit Cross-Compiling und Qemu compiliert. Und so langsam ist der Cortex-A9 erstaunlicherweise gar nicht. 

Also hab ich mir gedacht, ich könnte ja etwas vom RAM meiner Desktopkiste abzwacken (zur Not bis 20 GB) und die der NAS irgendwie übers Netz zur Verfügung stellen und dort als Swap mounten. 

Jetzt bin ich ein klein wenig ratlos über die Realisierung des Ganzen: 

NFS kennt nur Freigaben auf Dateisystemebene. 

NBD / Ata over Ethernet wäre geeignet. Da müsste ich dann nur auf dem Desktop irgendwie ein virtuelles Blockdevice erzeugen, was im Endeffekt aus RAM besteht. 

iSCSI wäre auch noch ein Kandidat - aber wohl für meine Zwecke etwas überdimensioniert.

Ist meine Idee sinnvoll? Wie mach ich das am besten? 

Idee wäre: 

TMPFS-Verzeichnis anlegen, darin dann ein Img erzeugen (dd) und das dann per NBD freigeben.Last edited by musv on Fri Nov 04, 2016 9:36 am; edited 1 time in total

----------

## bbgermany

Hi,

ich glaube fast, am einfachsten wäre wirklich ein TMPFS Verzeichnis via NFS freigeben und dort ein SWAPFILE anlegen und dies einbinden. Jedoch wird dein LAN warscheinlich eh alles ausbremsen  :Sad: 

Bezüglich dem übersetzen von Programmen: Hast du distcc auch im Einsatz? Das funktioniert bei mir hier ganz gut auch mit Crosscompiling für meinen Raspi (bis vor kurzem auch für mein Cubietruck).

MfG. Stefan

----------

## musv

 *bbgermany wrote:*   

> Bezüglich dem übersetzen von Programmen: Hast du distcc auch im Einsatz? Das funktioniert bei mir hier ganz gut auch mit Crosscompiling für meinen Raspi (bis vor kurzem auch für mein Cubietruck).

 

Ja, hab ich. Aber manche Pakete haben für das Compilieren auch Mindestanforderungen an den RAM (gcc, libreoffice)

Btw. hast du's geschafft, dev-scheme/guile zu compilieren? Das will bei mir überhaupt nicht. Dummerweise wird das von gnutls benötigt, was wiederum von Git verwendet wird.

----------

## bbgermany

Hi,

guile-1.8 habe ich bei mir nur installiert und das lief durch. Dein guile-2.x ist ~arm maskiert. Sowas setze ich nur in "Notfällen" ein  :Wink: 

git habe ich überhaupt nicht installiert. Aber ich kann ja mal heute nachmittag testen ob sich das Paket bei mir übersetzen lässt.

MfG. Stefan

----------

## musv

1.8 baut bei mir ebenfalls. 

Allerdings will git gnutls. Und das will mit dem tools-USE-Flag guile > 1.8. Ich werd mal sehen, ob ich die USE-Flags so hinbiegen kann, dass sich git auch mit der 1.8 zufrieden gibt. 

Hab mal einen Bug-Report aufgemacht: 

https://bugs.gentoo.org/show_bug.cgi?id=598986

----------

## firefly

von welcher gnutls version ist die rede?

Die aktuell stabile version gnutls-3.3.24-r1 kann mit >=dev-scheme/guile-1.8 gebaut werden.

selbst unstable gnutls-3.5.5 kann mit guile-1.8 gebaut werden.

Und es hat gar nichts mit dem tools useflag zu tun.

----------

## musv

Git hab ich mit gpg-Useflag:

```
RDEPEND="${CDEPEND}

        gpg? ( app-crypt/gnupg )
```

```
COMMON_DEPEND_LIBS="

        >=dev-libs/npth-1.2

        >=dev-libs/libassuan-2.4.3

        >=dev-libs/libgcrypt-1.7.3

        >=dev-libs/libgpg-error-1.24

        >=dev-libs/libksba-1.3.4

        >=net-misc/curl-7.10

        gnutls? ( >=net-libs/gnutls-3.0:0= )
```

```
RDEPEND=">=dev-libs/libtasn1-4.3:=[${MULTILIB_USEDEP}]

        >=dev-libs/nettle-3.1:=[gmp,${MULTILIB_USEDEP}]

        >=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]

        tools? ( sys-devel/autogen )
```

```
RDEPEND=">=dev-scheme/guile-2.0:=

        dev-libs/libxml2"
```

Ich hab jetzt autogen > 5.18.4 und guile >= 2 maskiert. Damit konnte ich dann git bauen.

----------

## firefly

Ah ok das ganze wurde über autogen eingezogen.

Hmm >autogen-5.18.4 sind eh als unstable markiert.

----------

## musv

Wie hat Klaus das mal ausgedrückt: 

Wenn's niemand testet, wird's nie stable.

----------

