SD cards and USB sticks are often used in things like cameras, stereos, music players, TV,s etc. which have no mechanism (brought out to the user, at any rate) for issuing an "eject" or "unmount" command (even should the user actually want to do this which most of them don't, being completely clueless about filesystems)
Additionally with Windows sometimes even right-clicking on the device and telling it to eject results in the error "I'm still busy with this you can't eject it right now you cretin" (or something to this effect) As a result I never use anything other than FAT or exFAT on this media since you never know when you are going to have to force a manual ejection and override the OS. But the journaling thing did not occur to me at all. That's even a better reason not to use those filesystems on such media, wearing out the media with excessive writes to a journal Ted -----Original Message----- From: PLUG <plug-boun...@lists.pdxlinux.org> On Behalf Of John Jason Jordan Sent: Wednesday, October 25, 2023 12:06 PM To: PLUG <plug@lists.pdxlinux.org> Subject: [PLUG] Formatting confusion SOLVED I have a brand new 1TB SD card. When I first inserted it into the computer (SparkyLinux) it was automatically mounted and appeared to be working fine. However, it was formatted exFAT, which I didn't really want, so I fired up GParted and proceeded to remove the partition, recreate it, and format it as ext4, with the label 1TB-SD. The operations completed without error, but it could not be mounted, with the error 'missing codepage or helper program, or other error.' I closed GParted and ran Gnome Disk Utility, which offered 'check filesystem,' 'repair filesystem,' and 'format,' among other options. I started with 'check,' but it gave the same error message as above. 'Repair' completed without error, but it still could not be mounted, giving the same error message. Finally, still in Gnome Disk Utility, I reformatted it as exFAT and reapplied the label. After that it could be mounted and functioned normally. Still not happy I decided to move to the command line. This is what happened there sudo mkfs.ext4 -L "1TB-SD" /dev/mmcblk0 mke2fs 1.47.0 (5-Feb-2023) Found a dos partition table in /dev/mmcblk0 Proceed anyway? (y,N) y Discarding device blocks: done Creating filesystem with 262144000 4k blocks and 65664000 inodes Filesystem UUID: 735301d6-e49f-4aa8-9222-8f621f57f7e1 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done $ sudo mkdir /media/jjj/1TB-SD $ sudo mount /dev/mmcblk0 /media/jjj/1TB-SD mount: /media/jjj/1TB-SD: wrong fs type, bad option, bad superblock on /dev/mmcblk0, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call. $sudo dmesg <sorry, hard to read this> [442690.762650] EXT4-fs error (device mmcblk0p1): ext4_find_extent:936: inode #8: comm pool-udisksd: pblk 131104767 bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0) [442690.764359] EXT4-fs (mmcblk0p1): Remounting filesystem read-only [442690.764363] jbd2_journal_init_inode: Cannot locate journal superblock [442690.764365] EXT4-fs (mmcblk0p1): Could not load journal inode [445844.987215] EXT4-fs error (device mmcblk0): ext4_find_extent:936: inode #8: comm mount: pblk 131104767 bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0) [445845.991577] jbd2_journal_init_inode: Cannot locate journal superblock [445845.991592] EXT4-fs (mmcblk0): Could not load journal inode [445897.081747] EXT4-fs error (device mmcblk0): ext4_find_extent:936: inode #8: comm pool-udisksd: pblk 131104767 bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0) [445897.083607] EXT4-fs (mmcblk0): Remounting filesystem read-only [445897.083627] jbd2_journal_init_inode: Cannot locate journal superblock [445897.083633] EXT4-fs (mmcblk0): Could not load journal inode Is it possible that the device was somehow manufactured so that it can only be formatted exFAT? I could use some clues. Maybe someone can figure out what the dmesg results mean. :) Edit: Because PLUG was plugged up I posted on Ubuntu forums, where I found the answer. It appears that SD cards don't appreciate journaling, so my command worked after some edits: sudo mke2fs -t ext4 -O ^has_journal -L 1TB-SD /dev/mmcblk0 I'm don't know why mkfs.ext4 needed to change to mke2fs -t ext4, nor do I understand the syntax of -O ^has_journal, but it worked, in spit