| /* |
| * File: Documentation/blackfin/Filesystems |
| * Based on: |
| * Author: |
| * |
| * Created: |
| * Description: This file contains the simple DMA Implementation for Blackfin |
| * |
| * Rev: $Id: Filesystems 2384 2006-11-01 04:12:43Z magicyang $ |
| * |
| * Modified: |
| * Copyright 2004-2006 Analog Devices Inc. |
| * |
| * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
| * |
| */ |
| |
| How to mount the root file system in uClinux/Blackfin |
| ----------------------------------------------------- |
| |
| 1 Mounting EXT3 File system. |
| ------------------------ |
| |
| Creating an EXT3 File system for uClinux/Blackfin: |
| |
| |
| Please follow the steps to form the EXT3 File system and mount the same as root |
| file system. |
| |
| a Make an ext3 file system as large as you want the final root file |
| system. |
| |
| mkfs.ext3 /dev/ram0 <your-rootfs-size-in-1k-blocks> |
| |
| b Mount this Empty file system on a free directory as: |
| |
| mount -t ext3 /dev/ram0 ./test |
| where ./test is the empty directory. |
| |
| c Copy your root fs directory that you have so carefully made over. |
| |
| cp -af /tmp/my_final_rootfs_files/* ./test |
| |
| (For ex: cp -af uClinux-dist/romfs/* ./test) |
| |
| d If you have done everything right till now you should be able to see |
| the required "root" dir's (that's etc, root, bin, lib, sbin...) |
| |
| e Now unmount the file system |
| |
| umount ./test |
| |
| f Create the root file system image. |
| |
| dd if=/dev/ram0 bs=1k count=<your-rootfs-size-in-1k-blocks> \ |
| > ext3fs.img |
| |
| |
| Now you have to tell the kernel that will be mounting this file system as |
| rootfs. |
| So do a make menuconfig under kernel and select the Ext3 journaling file system |
| support under File system --> submenu. |
| |
| |
| 2. Mounting EXT2 File system. |
| ------------------------- |
| |
| By default the ext2 file system image will be created if you invoke make from |
| the top uClinux-dist directory. |
| |
| |
| 3. Mounting CRAMFS File System |
| ---------------------------- |
| |
| To create a CRAMFS file system image execute the command |
| |
| mkfs.cramfs ./test cramfs.img |
| |
| where ./test is the target directory. |
| |
| |
| 4. Mounting ROMFS File System |
| -------------------------- |
| |
| To create a ROMFS file system image execute the command |
| |
| genromfs -v -V "ROMdisk" -f romfs.img -d ./test |
| |
| where ./test is the target directory |
| |
| |
| 5. Mounting the JFFS2 Filesystem |
| ----------------------------- |
| |
| To create a compressed JFFS filesystem (JFFS2), please execute the command |
| |
| mkfs.jffs2 -d ./test -o jffs2.img |
| |
| where ./test is the target directory. |
| |
| However, please make sure the following is in your kernel config. |
| |
| /* |
| * RAM/ROM/Flash chip drivers |
| */ |
| #define CONFIG_MTD_CFI 1 |
| #define CONFIG_MTD_ROM 1 |
| /* |
| * Mapping drivers for chip access |
| */ |
| #define CONFIG_MTD_COMPLEX_MAPPINGS 1 |
| #define CONFIG_MTD_BF533 1 |
| #undef CONFIG_MTD_UCLINUX |
| |
| Through the u-boot boot loader, use the jffs2.img in the corresponding |
| partition made in linux-2.6.x/drivers/mtd/maps/bf533_flash.c. |
| |
| NOTE - Currently the Flash driver is available only for EZKIT. Watch out for a |
| STAMP driver soon. |
| |
| |
| 6. Mounting the NFS File system |
| ----------------------------- |
| |
| For mounting the NFS please do the following in the kernel config. |
| |
| In Networking Support --> Networking options --> TCP/IP networking --> |
| IP: kernel level autoconfiguration |
| |
| Enable BOOTP Support. |
| |
| In Kernel hacking --> Compiled-in kernel boot parameter add the following |
| |
| root=/dev/nfs rw ip=bootp |
| |
| In File system --> Network File system, Enable |
| |
| NFS file system support --> NFSv3 client support |
| Root File system on NFS |
| |
| in uClibc menuconfig, do the following |
| In Networking Support |
| enable Remote Procedure Call (RPC) support |
| Full RPC Support |
| |
| On the Host side, ensure that /etc/dhcpd.conf looks something like this |
| |
| ddns-update-style ad-hoc; |
| allow bootp; |
| subnet 10.100.4.0 netmask 255.255.255.0 { |
| default-lease-time 122209600; |
| max-lease-time 31557600; |
| group { |
| host bf533 { |
| hardware ethernet 00:CF:52:49:C3:01; |
| fixed-address 10.100.4.50; |
| option root-path "/home/nfsmount"; |
| } |
| } |
| |
| ensure that /etc/exports looks something like this |
| /home/nfsmount *(rw,no_root_squash,no_all_squash) |
| |
| run the following commands as root (may differ depending on your |
| distribution) : |
| - service nfs start |
| - service portmap start |
| - service dhcpd start |
| - /usr/sbin/exportfs |