From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Date: Sat, 22 Aug 2015 20:04:55 +0200 Subject: [U-Boot] [U-Boot, 1/3] sysboot: Add support for ubifs to the sysboot command In-Reply-To: <55D79FD4.5010107@wwwdotorg.org> References: <1440086655-1246-1-git-send-email-hdegoede@redhat.com> <55D6F5BF.4070205@redhat.com> <55D79FD4.5010107@wwwdotorg.org> Message-ID: <55D8B9C7.6080206@redhat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 22-08-15 00:01, Stephen Warren wrote: > On 08/21/2015 03:56 AM, Hans de Goede wrote: >> Hi, >> >> On 20-08-15 21:53, Stephen Warren wrote: >> >> >> > On 20-08-15 18:04, Hans de Goede wrote: >>>> ubifs does not go though the generic block layer because mtd devices >>>> are special, so the "any" filesystem option to sysboot does not work, >>>> this adds support for a "ubifs" filesystem to the sysboot command which >>>> makes it possible to boot from ubifs using an extlinux.conf file. >> > >> > Why are they special? Surely ubifs support can be integrated into the >> > filesystem layer, thus removing the need for patches 1 and 3 in this >> series? >> >> I looked into that before going that root, the problem is that the >> filesystem layer assumes that files sit on top of block devices, >> and all the filesystem layer code operates on block_dev_desc_t devices. >> >> But ubifs operates on ubi volumes which in turn operate on raw nand, >> this has vastly different characteristics then regular block devices. >> >> ubifs deals with erase-blocks, finding or creating a free >> erase block when it needs to write stuff, then erasing an entire >> block and writing part of it a page-size at a time where >> erase-block-size != page-size, and both are typically of values >> much larger then disk sector-sizes. There is no notion of erase >> blocks in the fs / block layer. > > Can't the filesystem layer simply be taught how to look up block devices for most filesystems, but look up volumes for other filesystems? I still see no fundamental reason we can't abstract this so higher level SW doesn't have to have special cases. Ok, so I've given this a second shot, and you are right, it is possible to make ubifs work with the generic filesystem code. I'll post a v2 using that. Regards, Hans