Samsung V1.3.0 Porting Manual

Samsung tablet user manual

Advertisement

Linux RFS v1.3.0 Porting Guide
May 20-2008, Version 1.13

Advertisement

Table of Contents
loading

Summary of Contents for Samsung V1.3.0

  • Page 1 Linux RFS v1.3.0 Porting Guide May 20-2008, Version 1.13...
  • Page 3: Contact Information

    8 Flash Software Group, Samsung Electronics, Co., Ltd.. ⓒ All rights reserved. Trademarks RFS is trademark of Flash Software Group, Samsung Electronics Co., Ltd.. in Korea and other countries Restrictions on Use and Transfer All software and documents of RFS are commercial software.
  • Page 4 Preface This document is a porting guide of RFS developed by Flash Software Group, Memory Division, Samsung Electronics. It describes Linux RFS porting procedure to user's target platform. Purpose This document is RFS Porting Guide. This document explains the definition, architecture, system requirement, and porting tutorial of RFS.
  • Page 5 Related Documents - RFS v1.3.0 Programmer’s Guide, Samsung Electronics, Co., Ltd. - LinuStoreII Utility Guide, Samsung Electronics Co., Ltd. - LinuStoreII Porting Guide, Samsung Electronics Co., Ltd. History Version Date 2006.01.05 2006.01.13 2006.02.13 2006.03.16 2006.03.23 2006.04.19 2006.05.10 2006.09.27 1.10 2006-09-29 1.11...
  • Page 6: Table Of Contents

    Building Linux Kernel and RFS Kernel Module ...9 Using the NLS (Native Language Support) ... 12 3.3.1 Kernel Configuration for NLS ... 12 3.3.2 Mounting RFS with codepage ... 14 Appendix ... 16 Table of Contents Linux RFS v1.3.0 Porting Guide...
  • Page 7 Tables Table 1 Host System Requirements ... 4 Table 2 RFS Static Memory Usage (in bytes) ... 6 Table 3 Hardware information of OMAP2420... 6 Linux RFS v1.3.0 Porting Guide...
  • Page 8 Figure 3-6 Code maturity level ... 10 Figure 3-7 CRMAFS OPTION Settings ... 11 Figure 3-9 RFS Filesystem configuration for VFAT... 12 Figure 3-10 NLS(Native Language Support) configuration ... 13 Figure 3-11 RFS Filesystem configuration for FAT16 ... 14 Linux RFS v1.3.0 Porting Guide...
  • Page 9: Introduction

    OMAP2420 board. For other chipsets, you need to write your own low level driver code. A brief description about each of these components is given here. is provided with RFS package and is tested Linux RFS v1.3.0 Porting Guide...
  • Page 10: Figure 1-1 Linux Rfs Architecture

    BML Block Device Driver. • RFS: This is a read-write Samsung’s file system and is used to manage the modifiable data part of the Linux file system directories, i.e. configuration files and applications data files.
  • Page 11 It extends NAND flash memory life span. LLD is an abbreviation of Low Level Device Driver. It performs actual read/write/erase operation to NAND flash memory as a device driver. during the address translation. , which actually performs Linux RFS v1.3.0 Porting Guide...
  • Page 12: Prerequisites

    ‘rfs’ contains source files related to Robust FAT and ‘xsr’ contains source files related to OneNAND block device driver. ‘scripts’ contains install scripts and ‘util’ contains several tools to maintain RFS. Table 1 Host System Requirements Linux Native GCC compiler & Cross-Compiler About 50MB Linux RFS v1.3.0 Porting Guide...
  • Page 13: Source Files List

    • super.c: Super block and init functions $(RFS_TOP_DIR)/drives/xsr: NAND block device driver for RFS $(RFS_TOP_DIR)/tools/: Tools to manipulate RFS/XSR dir.c, dos.c, file.c, inode.c, inode_24.c, inode_26.c, namei.c, super.c, fcache.c, cluster.c, code_convert.c, log.c, log.h, log_replay.c, rfs_24.c, rfs_26.c core txsr linux rfs_fs.h rfs_fs_i.h rfs_fs_sb.h Linux RFS v1.3.0 Porting Guide...
  • Page 14: Rfs Memory Usage

    (ISA), 32K-byte instruction and 3K-byte data 64-entry instruction and 64-entry data write buffer Vector floating-point processor Jazelle Java accelerator Select OneNAND device according to your requirement (1.8v/3.3v) Total 45,796 4,288 87,788 4,292 133,584 data, chip-selects, Linux RFS v1.3.0 Porting Guide...
  • Page 15: Porting Linux Rfs

    = Set the architecture type Now run “scripts/rfs_install.sh [kernel_type]” at $(TOP_DIR)/ Hardware Configuration Installation of Linux RFS Sources Kernel Configurations for RFS PAM Configurations Building Linux Kernel and RFS Kernel Module Figure 3-1 Linux RFS Porting Procedure Linux RFS v1.3.0 Porting Guide...
  • Page 16: Kernel Configuration For Rfs

    As shown below, you should get sub-menu in $(KERNEL_TOP_DIR) as the result of ‘make menuconfig’. Figure 3-2 shows the general main menu of kernel configuration. Select “File systems” menu to go on to the next step. Figure 3-2 Main screen of Kernel menu Linux RFS v1.3.0 Porting Guide...
  • Page 17: Building Linux Kernel And Rfs Kernel Module

    You can confirm the following make options typing “make menuconfig” on the shell command line. You should turn on the make option for “EXPERIMENTAL” kernel features in .config file. Linux RFS v1.3.0 Porting Guide...
  • Page 18: Figure 3-6 Code Maturity Level

    Figure 3-4 Code maturity level You should set the make option for “COMPRESSED ROM FILE SYSTEM (CRAMFS)” in file system option during make menuconfig because the root file system is managed by CRAMFS. Linux RFS v1.3.0 Porting Guide...
  • Page 19: Figure 3-7 Crmafs Option Settings

    Then, the kernel image file named ‘uImage’ will be created if no error occurs. As mentioned earlier, the RFS sources are compiled and linked as a loadable kernel module. To make the kernel modules, do the following. shell> make modules shell> make modules_install Linux RFS v1.3.0 Porting Guide...
  • Page 20: Using The Nls (Native Language Support)

    This default codepage is used to mount the RFS Filesystem if the “codepage” mount option is not set. If you select <Y> for the “Support NLS on RFS Filesystem”, you should select the “Native Language Support” menu at “File system” to open the NLS configuration like the following. Linux RFS v1.3.0 Porting Guide...
  • Page 21: Figure 3-10 Nls(Native Language Support) Configuration

    Filesystem like MS-DOS to use the “Native Language Support”. When you didn’t select “FAT32 & long file name support”, you can’t find the menu about “Support NLS on RFS Filesystem” like the following. Linux RFS v1.3.0 Porting Guide...
  • Page 22: Mounting Rfs With Codepage

    This command mounts the RFS Filesystem found on ‘/dev/stl0/3’ at the directory ‘/tmp’. If you didn’t select the NLS support when you built the kernel image, this command will success and RFS is able to support filenames with the 7-bit ASCII characters only. Linux RFS v1.3.0 Porting Guide...
  • Page 23 For example, if the default codepage is “codepage 437”, then RFS supports filenames with the native language of ‘cp437’ character set. If you selected the NLS support and didn’t set the default codepage, this command will fail. Linux RFS v1.3.0 Porting Guide...
  • Page 24: Appendix

    Additional notice Once RFS is compiled with this option, RFS must be mounted with ‘codepage’ option or compiled with the default codepage. CONFIG_RFS_DEFAULT_CODEPAGE Description Linux RFS v1.3.0 Porting Guide...
  • Page 25 Behavioral description To get an inode, RFS uses a iget_locked() which is general kernel interface. But some kernel version don’t provide a iget_locked() interface especially below the Linux kernel version 2.4.25. verbosity Minimal Audible Loud Noisy Linux RFS v1.3.0 Porting Guide...
  • Page 26 This option is used for advanced cluster allocation. Current version support maximum 50 numbers for pre clusters allocation. Behavioral description Amount of memory used in cluster allocation will be (CONFIG_RFS_PRE_ALLOC * cluster size) Additional notice Linux RFS v1.3.0 Porting Guide...

This manual is also suitable for:

Linux rfs v1.3.0

Table of Contents