On Fri, Oct 7, 2016 at 5:58 PM, Andrew Lutomirski <luto@xxxxxxx> wrote: > On Fri, Oct 7, 2016 at 2:32 PM, Chris Murphy <lists@xxxxxxxxxxxxxxxxx> wrote: >> Modifying the image at all breaks the existing media verification >> option in the boot menu, and we know people get bad writes using bad >> or flaky media > > This part, at least, should be relatively straightforward to get > around. The allocation of a persistence partition literally just > create a new partition, so if the media verification could learn to > verify the partition (bitwise) instead of the whole device, it would > work fine. Maybe. This is what we're doing to create our ISO images. Note there are three partition maps needing modification: MBR, GPT, and APM. https://mjg59.dreamwidth.org/4957.html The md5's are embedded in an ISO 9660 metadata area using implantisomd5, and rd.live.check causes dracut to run checkisomd5. This isn't partition based. I don't see a configurable offset, but maybe there's a fixed offset that puts the partition maps outside the area being checked. Anyway, it's still suboptimal: 1. On macOS, right after media creation, the OS always automounts the HFS+ volume found on these ISOs, read-write. This instantly changes the content of a portion of the media that is subject to media verification. So any stick created on macOS always fails media verification. Mbriza has said he's heard this happens on Windows also. I haven't tested it. 2. It's slow and interrupts user flow. 3. It's one shot, not every read is checked every time. 4. The user can opt out. For optical media, it's a good solution that's portable. Optical media is unlikely to have transient corruptions. But I think it's inadequate for flash media where they can produce transient corruption on reads without any error being reported by the stick itself. So if media verification is at all important, I think the longer term plan should look at dmverity or Btrfs seed device. -- Chris Murphy _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx