Writing JFFS2 to Samsung K9F1208U0B NAND on AMCC PPC405EX/r Kilauea/Haleakala

Grant Erickson gerickson at nuovations.com
Thu Feb 28 19:30:38 EST 2008


I am attempting to create and write a JFFS2 file system to the Samsung
K9F1208U0B NAND part on an AMCC PPC405EXr "Haleakala" board and seem to be
running into a hurdle or two.

Given the Samsung K9F1208U0B's 16 KiB erase block and 512 B page sizes, I
invoked mkfs.jffs2 with:

% mkfs.jffs2 -n -b -s 512 -e 16 KiB -d /export/haleakala -o haleakala.img

I then erase the device with 'flash_eraseall' using the '-j' option:

# flash_eraseall -j /dev/mtd9
Erasing 16 Kibyte @ 3f94000 -- 99 % complete. Cleanmarker written at
3f94000.

However, when I attempt to lay down the file system image with nandwrite
(again, using the '-j' option), I get a driver error:

# nandwrite -j /dev/mtd9 haleakala.img
MEMSETOOBSEL: Inappropriate ioctl for device

Eliding the '-j' option, I get errors about page alignment:

# nandwrite /dev/mtd9 haleakala.img
Input file is not page aligned
Data was only partially written due to error: Success

The output from 'mtd_debug':

# mtd_debug info /dev/mtd9
mtd.type = MTD_NANDFLASH
mtd.flags = MTD_CAP_NANDFLASH
mtd.size = 66682880 (63M)
mtd.erasesize = 16384 (16K)
mtd.writesize = 512
mtd.oobsize = 16 
regions = 0

The version of mtd-utils is 1.1.0 from the MTD FTP site.

This occurs with either hand-built kernels using the GIT repo or
'git://www.denx.de/git/linux-2.6-denx.git' the latest pre-built kernel
posted to the AMCC-partner (DENX) site:

    ftp://ftp.denx.de/pub/linux/images/amcc/kilauea/uImage-g8adfc2c

# uname -a
Linux haleakala 2.6.25-rc2-00492-g8adfc2c #1 Sat Feb 23 23:10:15 CET 2008
ppc unknown

Anyone have success with writing a JFFS2 file system on these boards or have
any insight into the errors above?

Regards,

Grant Erickson





More information about the linux-mtd mailing list