Ramdisk

s705081

Active Member
Hi *,

kleine bescheidene Frage, wie kann man unter OpenBSD eine Memory/Ramdisk mounten. mit vnconfig komme ich nicht weiter da komischer weise immer ein File zum mounten benötigt wird.
Gibt es einen FreeBSD port von mdconfig?

Gruss Sven

Edit:
OpenBSD 3.6
und nur 256MB Platz auf der Platte/im Flash
Ich will z.b. das /tmp Verzeichnis als Memory Device mounten
 
Zuletzt bearbeitet:
nochmal was zur ramdisk...

ich versuche gerade meine soekris-kiste zu einem druckerserver umzubauen. dafuer brauch ich eine (moeglichst grosse) ramdisk.

wenn ich aber in den kernel-optionen

Code:
MINIROOTSIZE=10000


benutze, dann sieht die ausgabe von fdisk hinterher so aus:
Code:
fdisk /dev/rrd0c
fdisk: sysctl(machdep.bios.diskinfo): Device not configured
Disk: /dev/rrd0c        geometry: 1/1/10000 [10000 Sectors]
Offset: 0       Signature: 0x0
         Starting       Ending       LBA Info:
 #: id    C   H  S -    C   H  S [       start:      size   ]
------------------------------------------------------------------------
 0: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
 3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused

sprich, das einzige, was der fuer die ramdisk anlegt sind sektoren, keine zylinder, keine koepfe.
logisch, dass wenn ich den wert groesser als 16384 mache sich der kernel beim booten verschluckt---> neustart.

weiss jemand, wie ich die virtuelle plattengeometrie einstellen kann?
 
Zuletzt bearbeitet:
hallo dettus,

soweit ich weiß, kann der kernel nur eine ramdisk mit max. 16 mb. damit du eine größere ramdisk anlegen kannst, mußt du eine entsprechende plattengeometrie haben. dazu kopierst du dir am besten folgenden eintrag in der /etc/disktab:

rdroot|ramdiskroot|RAM-disk root FS image:\
:ty=ramdisk:se#512:nt#2:ns#128:nc#16:\
:pa#3800:oa#0:ta=4.2BSD:ba#4096:fa#512:\
:pb#0:ob#0:tb=swap:\
:pc#3800:oc#0:


nach

rdroot|ramdiskroot|RAM-disk root FS image:\
:ty=ramdisk:se#512:nt#2:ns#128:nc#16:\
:pa#3510:oa#0:ta=4.2BSD:ba#4096:fa#512:\
:pb#0:ob#0:tb=swap:\
:pc#3510:oc#0:

und kannst an den einträgen für pa pb ns nc nt schrauben z.b. für eine 8mb-ramdisk. was die einzenen werte bedeuten und wie du das berechnen kannst, steht in der man disktab. falls du den eintrag änderst, mußt du natürlich beim kompilieren noch den richtigen disktyp angeben - weiß gerade nicht, in welcher konfigurationsdatei.

lg uwe
 
dettus: eigentlich sollten 10000 gehn oder nicht?
das steht zumindest auf http://256.com/gray/docs/soekris_openbsd_diskless/
" So initially I thought that I could build everything that I needed into the kernel ramdisk but unfortunately, there are kernel linking and runtime limitations on the size of this filesystem. After experimentation, I determined that a miniroot size of 23000 blocks (11.5mb) was about the maximum size which works. Sizes of 100000 (50mb) or above fail at the kernel link time, probably due to some sort of address violation (bleah). 30000 (15mb) sizes cause the kernel to immediately reboot, probably exceeding some boot or AT architecture limitation (grumble). 25000 (12.5mb) seems to hang immediately after kernel load (sigh). So 23000 (11.5mb) is the magic working size. No, I didn't try 24000. I figured that I can get just about all of the files from / that I want into this size. The other partitions would reside on the compact flash and would be copied into memory filesystems created at boot time by the /etc/rc boot script."
 
uwerler schrieb:
hallo dettus,
Code:
rdroot|ramdiskroot|RAM-disk root FS image:\
        :ty=ramdisk:se#512:nt#2:ns#128:nc#16:\
        :pa#3800:oa#0:ta=4.2BSD:ba#4096:fa#512:\
        :pb#0:ob#0:tb=swap:\
        :pc#3800:oc#0:

nach
Code:
rdroot|ramdiskroot|RAM-disk root FS image:\
        :ty=ramdisk:se#512:nt#2:ns#128:nc#16:\
        :pa#3510:oa#0:ta=4.2BSD:ba#4096:fa#512:\
        :pb#0:ob#0:tb=swap:\
        :pc#3510:oc#0:
selten hab ich so ein freundliches config-file gesehen :p
 
d4mi4n schrieb:
dettus: eigentlich sollten 10000 gehn oder nicht?
das steht zumindest auf http://256.com/gray/docs/soekris_openbsd_diskless/
vergiss den kerl.
sein gebastel ist gelinde gesagt haaaarstraeubend!

seine ramdisk wird die root-partition, und die anderen sachen linkt der dann da irgendwie rein. keine ahnung, ich hab mir seine shell-skripte nicht so genau angeguckt.
auf jeden fall hat mich der teil mit
config bsd root on rd0a
in der kernel config schon abgeschreckt.

sehr viel sauberer ist es imho einfach nur nach dem booten ein
Code:
mount_mfs /dev/rd0c /var
mkdir /var/tmp
mkdir /var/spool
...
zu machen.
 
Zurück
Oben