Hi Jason,
The key is the slram or phram kernel modules. You didn't mention which
board and kernel you're using, so you'll have to fit what I say here
into your configuration.
The short version is:
modprobe slram map=VRAM,0xec800000 ,+0x100000
Where the 2nd parm is the address of the NVRAM, and the third is the
length.
I have the 2M RAM of the TS-DIO64 configured as a NV RAM disk on my
TS-7800. That configuration is using a 2.6 kernel, and at the time I
had to compile the kernel modules from the source.
Here's a overly commented shell script I use to configure the RAM as a
disk. As I mentioned above, you'll have to pick and choose the pieces
relative to your configuration, but hopefully this can get you started.
Good luck!
-Frank
Holland, PA
============ ========= ========= ========= ====
# Setting up a permanent RAM disk
# TS-DIO64 on a TS-7800
export PATH=$PATH:/ initrd/usr/ bin
# Set ISA Bus
peekpoke 32 0xe8000030 0x55555555
peekpoke 32 0xe8000034 0x55555555
peekpoke 32 0xe8000038 0x55555555
peekpoke 32 0xe800003c 0x55555555
# Check for DIO-64 - Must be 0xA4
id=`peekpoke 8 0xee000100`
# Enable RAM @ 0xec800000
peekpoke 8 0xee000102 0x10
# NAND Driver must be loaded first
modprobe ts7800
# Load slram module
modprobe slram map=VRAM,0xec800000 ,+0x100000
# Check for module load
dmesg
# Output of dmesg should be something like this
# slram: devname=VRAM, devstart=0xec800000 , devlength=0x100000
# slram: Registered device VRAM from 3874816KiB to 3875840KiB
# slram: Mapped from 0xc8a00000 to 0xc8b00000
# Check the new device name
cat /proc/mtd
# Output of the above command should be something like this
# dev: size erasesize name
# mtd0: 20000000 00020000 "whole chip"
# mtd1: 00400000 00020000 "kernel"
# mtd2: 00400000 00020000 "initrd"
# mtd3: 1f7e0000 00020000 "rootfs"
# mtd4: 00100000 00004000 "VRAM" <-- This is the new device
# Let udev make the new devices
# May need to check if udev is running first
# /etc/init.d/ udev start
# Output should be something like this.
# Starting the hotplug events dispatcher: udevd.
# Synthesizing the initial hotplug events...done.
# Waiting for /dev to be fully populated... done.
# Make a mount point (bbr = Battery Backed RAM)
mp=/opt/bbr
if [ ! -d $mp ]
then
mkdir $mp
fi
# Make the filesystem
# Do this only the first time!!!!!!!! !
# or if the -fs flag is passed on the command line
if [ $# -eq 2 ]
then
if [ "$1" = "-fs" ]
then
echo "Making filesystem on /dev/mtdblock4. .."
mkfs /dev/mtdblock4 -t ext2
fi
fi
# Mount the filesystem
mount /dev/mtdblock4 $mp -t ext2
============ ========= ========= ========= ===
jason95014 wrote:
Hello,
Does anyone know if there is a driver written?
Or, is there a way to configure the kernel to use it as RAM drive?
Thanks in advance.
Jason