On Mon, 2007-03-19 at 14:54 -0500, Matt Mackall wrote:
No it can't and device mapper sits on top of block devices. FLASH is no
block device. Period.
Device mapper can not provide a simple easy to decode scheme for boot
loaders. We need to be able to boot out of 512 - 2048 byte of NAND FLASH
and be able to find the kernel or second stage boot loader in this
unordered device.
And no, fixed addresses do not work. Do you want to implement device
mapper into your Initialial Bootloader stage ?
No, block layer on top of FLASH needs 80% of the functionality of UBI in
the first place. You need to implement a clever journalling block device
emulator in order to keep the data alive and the FLASH not weared out
within no time. You need the wear levelling, otherwise you can throw
away your FLASH in no time.
Forget about OOB data. OOB data is reserved for ECC. Please read the
recommendations of the NAND FLASH manufacturers. NAND gets less reliable
with higher density devices and smaller processes.
Hide erase blocks ? UBI does not hide anything. It maps logical
eraseblocks, which are exposed to the clients to arbitrary physical
eraseblocks on the FLASH device in order to provide across device wear
levelling.
This is fundamentaly different to device mapper.
I don't see how this provides across device wear levelling.
JFFS2 on top of UBI delegates the wear levelling to UBI, as JFFS2s own
wear levelling sucks.
Why should we reimplement that ?
Err. Implement a clever block layer on top of UBI and use all the
goodies you want including device mapper.
tglx
-