Installation Manual
for UBI
S3C6410
May 09, 2008
(Preliminary) REV 1.00
1
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
Revision History
Revision No
Description of Change
Refer to
Author(s)
Date
1.00
- Master Copy
-
May 09, 2008
Jongpill Lee
NOTE: Revised parts are written in blue.
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
3
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
CONTENTS
1
2
3
INTRODUCTION................................................................................................................................... 6
1.1
1.2
PURPOSE......................................................................................................................................................................6
OVERVIEW....................................................................................................................................................................6
KERNEL COMPILATION...................................................................................................................... 7
2.1
2.2
ROOT FILE SYSTEM .....................................................................................................................................................7
KERNEL COMPILE........................................................................................................................................................7
TEST.....................................................................................................................................................12
3.1
DOWNLOAD “UBI.KO”............................................................................................................................................12
LOAD UBI MODULE................................................................................................................................................12
CREATE UBI VOLUME .............................................................................................................................................13
MOUNT JFFS2..........................................................................................................................................................14
3.2
3.3
3.4
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
Figures
FIGURE 1 UBI/MTD INTEGRATION.......................................................................................................................6
FIGURE 2 DEVICE DRIVERS...................................................................................................................................8
FIGURE 3 MEMORY TECHNOLOGY DEVICES .........................................................................................................8
FIGURE 4 UBI – UNSORTED BLOCK IMAGES.........................................................................................................9
FIGURE 5 ENABLE UBI .........................................................................................................................................9
FIGURE 6 SELECT “EMULATE MTD DEVICES”....................................................................................................10
FIGURE 7 SAVING NEW KERNEL CONFIGURATION ..............................................................................................10
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
5
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
1 Introduction
1.1 Purpose
Ubi is general purpose flash management layer which has similar functionality as the Logical
Volume Manager. The basic idea is that the UBI layer provides the management for multiple logical
volumes, which can contain either static data or dynamic contents e.g. file systems.
This guide will explain the initial steps for Installing UBI(Unsorted Block Image) and how to compile
Linux Kernel.
1.2 Overview
UBI Supports as follows:
• Bad Block Management
• Wear leveling across the device(s)
• Logical to Physical block mapping
• Volume information storage
• Device information
FIGURE 1 UBI/MTD Integration
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
6
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
2 Kernel Compilation
2.1 Root file System
Make sure you have 2.6 compliant versions of insmod, rmmod, and lsmod. At least you have 2.6
compliant versions of insmod.
2.2 Kernel Compile
In this chapter, you will understand the initial steps for Installing S3C BSP on Linux operating system.
Kernel source is compressed by the name of “s3c-linux-2.6.21.tar.bz2”. Extract this bz2 file by
executing the following command. After extracting the kernel tarball file “s3c-linux-2.6.21”
directory will be generated. Go to “s3c-linux-2.6.21” directory and edit “.cross_compile” file.
[root@localhost test]# tar jxvf s3c-linux-2.6.21.tar.bz2
[root@localhost test]# cd s3c-linux-2.6.21
[root@localhost s3c-linux-2.6.21]# vi .cross_compile
Here edit your cross compiler path on first line depending on your environment, in our case cross
compiler path is “/usr/local/arm/release-4.0.3/bin/arm-linux-”.
You can load default-configuration-file that is composed with values optimized to target board. In
Kernel, default-configuration-files are located in “s3c-linux-2.6.21” directory.
Load configuration file executing following command. Configuration file can be found at the
directory of “s3c-linux-2.6.21/arch/arm/configs/”.
You should use this board-specific default configuration file for the SMDK board you are working on.
For SMDK6410 board,
[root@localhost s3c-linux-2.6.21]# make smdk6410mtd_defconfig
Then, type as follows:
[root@localhost s3c-linux-2.6.21]# make menuconfig
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
7
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
Select ‘Device Drivers’ from the ‘Linux Kernel Configuration’.
FIGURE 2 Device Drivers
Select ‘Memory Technology Devices(MTD)’
FIGURE 3 Memory Technology Devices
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
8
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
Select ‘UBI – Unsorted block images’
FIGURE 4 UBI – Unsorted Block Images
Select ‘Enable UBI’ to Module Type
FIGURE 5 Enable UBI
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
9
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
Select “Emulate MTD devices”
FIGURE 6 Select “Emulate MTD Devices”
Finally select ‘Exit’ and then ‘Yes’ to save your new kernel configuration.
FIGURE 7 Saving New Kernel configuration
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
10
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
Execute the following commands on your host PC, the Kernel image will be created in “s3c-linux-
2.6.21/arch/arm/boot/” directory by the name of “zImage”. Also, UBI Module will be created in
“s3c-linux-2.6.21/drivers/mtd/ubi/”directory by the name of “ubi.ko”.
[root@localhost s3c-linux-2.6.21]# make
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
11
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
3 Test
In this Chapter, you will understand how to test UBI in you system.
3.1 Download “ubi.ko”
First, you have to download “ubi.ko” device module file that is created by make command. You can
this device module in “linux/drivers/mtd/ubi/ubi.ko”.
3.2 Load UBI Module
Next, Insert UBI Module(ubi.ko) which is download from your host with insmod command. Input
command as following.
[root@Samsung tmp]# insmod ubi.ko mtd=3
In this command, “mtd=3” is a MTD partition what you want to create UBI Volume. If you want to
create UBI volume in another MTD partition, input number of partition. If you success insert UBI
module(ubi.ko), you can see ubi information.
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
12
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
3.3 Create UBI Volume
Now, Make a UBI Volume in MTD partition. First of all, make “sysfs” directory and mount sysfs to
sysfs directory.
[root@Samsung tmp]# mount sysfs sysfs ./sysfs
[root@Samsung tmp]# mount -t sysfs sysfs ./sysfs
You need ubimkvol application which is to make ubi volume. Download ubimkvol application. And
Excute ubimkvol as following command.
[root@Samsung tmp]# ./ubimkvol -s 10245780 -N Storage -d 0
This Command is make UBI Volume in MTD partition. Volume size is 10245780 bytes and Volume
name is “Storage” and device node is “ubi0”. If you want to know other option, you can see by
input command “./ubimkvol –h”.
And, you want to confirm result, you can see proc file system.
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
13
S3C6410 INSTALLATION MANUAL UBI(UNSORTED BLOCK IMAGES) V1.0
3.4 Mount jffs2
Finally, you want to read and write in UBI Volume, system is mounted temporary directory to
/dev/mtdblock4.
Preliminary product information describe products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
14
|