FAQ about Linux support on AT91SAM9N12-EK

How to use BuildRoot with an old Linux distribution?

A: We have experienced some troubles using BuildRoot on old Linux distribution such as Debian 4.0. You may need to update some tools:

  • a recent version of cp (should be ok with 6.10 or later)
  • a recent version of tar (ok with 1.22)
  • ncurses 5.7 or later

How do I flash a jffs2 filesystem with U-Boot?

A: To flash a jffs2 root filesystem, you have to use nand write.jffs2 instead of nand write.trimffs.

What is the difference between UBI and UBIFS?

A: The UBI subsystem works on top of MTD devices and provides a notion of UBI volumes. UBIFS filesystem works on top of UBI volumes.

The UBIFS is done with the mkfs.ubifs command and the UBI is done with ubinize command.

SAM-BA and the U-Boot nand write.trimffs command expect a UBI file.

Should I care about the UBI volume name?

A: The UBI volume name is set into the ubinize.cfg file. Sometimes it is not easy to modify this file so you will have to change the boot arguments to give the name of your UBI volume.

The vol_name field into the ubinize.cfg file must match the volume name of the root parameter in boot arguments ie if vol_name is my_rootfs then update root parameter to root=ubi0:my_rootfs.

You can check your boot args with U-Boot:

U-Boot> print
bootargs=mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,-(rootfs) root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0
:rootfs
bootcmd=sf read 0x22000000 0x100000 0x240000; bootm 0x22000000
bootdelay=1
baudrate=115200
ethact=macb0

Environment size: 277/131067 bytes

And now change UBI volume name:

setenv bootargs 'mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,-(rootfs) root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:my_rootfs'


-- EricXu - 15 Mar 2012

r5 - 04 Dec 2013 - 14:29:02 - NicolasFerre
 
Linux & Open Source related information for AT91 Smart ARM Microcontrollers

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Atmel® and others, are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. This site is powered by the TWiki collaboration platform

ARM® and others are registered trademarks or trademarks of ARM Ltd. Other terms and product names may be trademarks of others.

Ideas, requests, contributions ? Connect to LinksToCommunities page.

Syndicate this siteRSS ATOM