Re: CBD Compressed Block Device, New embedded block device

From: Shaun Savage
Date: Sun Jan 22 2006 - 17:30:33 EST


CBD is designed for embedded systems. The compression starts off the similar to cloop, The filesystem partitions are created in files, These partition files are broken into 32K blocks( the window size of gzip). Now there is a compressed file and a array of start locations. This is placed into a CBD partition package (CBDpp), by adding a header. This header includes version, hash, signature,....

The flash device is divided 64K blocks, you can think of these as sectors. There is a user program that writes new CBDpp to these blocks. The CBDpp are run length encoded. There is a table of which blocks are used by the CBDpp in the header of the CBDpp. On startup the driver searches the blocks for the MAGIC header. When it finds one it read the header and maps which blocks holds the CBDpp. The driver then does not search thoses blocks. Empty block devices are slow to boot while full ones are fast.

There is a patch for GRUB that know about the CBD headers. It search for the latest and greatest version of the CBDpp. The allows for in the field system update.

partition 0 is the bootloader and kernel, and othe global system stuff.
partition 1 is the root file system

The one unique feature is any filesystem can be on top AND it support writes!! Now the write never make it to the physical device, but the write data is locked in buffer cache. Yes I know this can be a memory leak, but in an embedded device the writes are configuration and patches.

I received lots of email on how to improve the code, Which I am doing. I will answer your emails in how fast I can make those changes.

shaun


Phillip Susi wrote:

How is this different from cloop or dm-crypt?

Shaun Savage wrote:

HI

Here is a patch for 2.6.14.5 of CBD
CBD is a compressed block device that is designed to shrink the file system size to 1/3 the original size. CBD is a block device on a file system so, it also allows for in-field upgrade of file system. If necessary is also allows for secure booting, with a GRUB patch.

Reply to email please.

Shaun Savage



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/