Deutsch English Français Italiano |
<voinor$49s$1@reader2.panix.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!panix!.POSTED.localhost!not-for-mail From: Grant Edwards <invalid@invalid.invalid> Newsgroups: comp.arch.embedded Subject: Re: How do you wipe a UBI filesystem? Date: Wed, 12 Feb 2025 18:03:07 -0000 (UTC) Organization: PANIX Public Access Internet and UNIX, NYC Message-ID: <voinor$49s$1@reader2.panix.com> References: <vo0e7s$m5v$1@reader2.panix.com> <void7a$2cff6$1@dont-email.me> Injection-Date: Wed, 12 Feb 2025 18:03:07 -0000 (UTC) Injection-Info: reader2.panix.com; posting-host="localhost:::1"; logging-data="4412"; mail-complaints-to="abuse@panix.com" User-Agent: slrn/1.0.3 (Linux) On 2025-02-12, chrisq <devzero@nospam.com> wrote: > On 2/5/25 19:30, Grant Edwards wrote: >> Pretend I've got an MTD partition attached as a UBI device. >> >> That UBI device contains a couple differen UBI volumes. >> >> In one of those volumes is a UBIFS filesystem that has a bunch of >> files in it. >> >> I've done some googling, but all of the answers are "use >> ubiformat". That will wipe the whole device. I just want to >> re-initialize one ubifs filesytem in one volume -- not the whole >> ubi device. >> >> How do I wipe that filesystem (set it back to empty). Do I need to >> create an empty ubifs "image" file using mkfs.ubifs and then use >> ubiupdatevol to write that image to the volume? >> >> Isn't there a simpler way? > > Try a search: > > "ubi file system utilities Linux" > > Which may help, third entry down ?. The answer is 'ubiupdatevol -t' (bracketed by umount/mount commands). I had figured out that command worked, but one tutorial/blog I found stated that it erased every block in the volume. The way it was described it sounded like doing a 'ubiupdatevol -t' on a 20MB volume would erase 20MB of flash -- even if that volume contained a filesystem with only a few small files in it. So I was reluctant to use it because of the uneccessary wear on the flash when used on volumes that were mostly empty. It turns out that blog was wrong/misleading. The truncate operation doesn't erase any blocks. It _unmaps_ any _programmed_ blocks that are currently in use in the volume. Those blocks will later be erased and put back in the "free" pool during garbage collection. No blocks are erased either unnecessarily or by the command itself. -- Grant