Problems mounting ext4 disk on a Dreambox

I wanted to copy some movies to an external disk in preparation for our summer vacation, and attached an external USB3 disk to our Dreambox satellite receiver.

Metadata

Nothing happened; the disk did not get automatically mounted. Manually mounting also failed. dmesg told me:

usb 10-2: new SuperSpeed USB device number 2 using xhci_hcd
scsi2 : usb-storage 10-2:1.0
scsi 2:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0    PQ: 0 ANSI: 6
sd 2:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] Mode Sense: 43 00 00 00
sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdb: sdb1
sd 2:0:0:0: [sdb] Attached SCSI disk
EXT4-fs (sdb1): couldn't mount RDWR because of unsupported optional features (400)

I formatted the disk on a Debian unstable (kernel 4.19), and it enabled the metadata checksum feature that is not supported by the DreamOS 2.6's kernel (3.4-4.0-dm7080). I had to disable that feature on the disk with my laptop:

$ e2fsck -f /dev/sdb1
$ tune2fs -O ^metadata_csum /dev/sdb1

Source: Couldn't mount RDWR because of unsupported optional features (400)

Journal

The next mount try also resulted in an error:

usb 10-2: new SuperSpeed USB device number 3 using xhci_hcd
scsi3 : usb-storage 10-2:1.0
scsi 3:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0    PQ: 0 ANSI: 6
sd 3:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 43 00 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdb: sdb1
sd 3:0:0:0: [sdb] Attached SCSI disk
JBD2: Unrecognised features on journal
EXT4-fs (sdb1): error loading journal

So kernel 4.19 also adds new journal data.

$ tune2fs -l /dev/sdb1
tune2fs 1.43-WIP (18-May-2015)
Filesystem volume name:   videos
Last mounted on:          /media/cweiske/videos
Filesystem UUID:          7e07e565-99c7-4ea9-b2a3-1eb02ba23572
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              61054976
Block count:              244190208
Reserved block count:     12209510
Free blocks:              210555405
Free inodes:              61042713
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      965
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Fri Feb 15 20:05:55 2019
Last mount time:          Sat Jul 13 10:51:53 2019
Last write time:          Sat Jul 13 11:02:12 2019
Mount count:              0
Maximum mount count:      -1
Last checked:             Sat Jul 13 11:02:12 2019
Check interval:           0 (<none>)
Lifetime writes:          121 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     32
Desired extra isize:      32
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      83196fde-051e-43c5-967c-7aa3935c571e
Journal backup:           inode blocks

Instead of finding out which journal feature I had to disable, I disabled the whole journal:

$ tune2fs -O ^has_journal /dev/sdb1

I could now finally mount the disk on the Dreambox.

Source: Debian User Forums: Boot failing: No init found

Written by Christian Weiske.

Comments? Please send an e-mail.