From owner-freebsd-usb@FreeBSD.ORG Fri Nov 19 19:39:20 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 134061065696 for ; Fri, 19 Nov 2010 19:39:20 +0000 (UTC) (envelope-from wblock@wonkity.com) Received: from wonkity.com (wonkity.com [67.158.26.137]) by mx1.freebsd.org (Postfix) with ESMTP id C78168FC18 for ; Fri, 19 Nov 2010 19:39:19 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.4/8.14.4) with ESMTP id oAJJdDu3095986; Fri, 19 Nov 2010 12:39:13 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.4/8.14.4/Submit) with ESMTP id oAJJdDVF095983; Fri, 19 Nov 2010 12:39:13 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Fri, 19 Nov 2010 12:39:13 -0700 (MST) From: Warren Block To: Matthias Apitz In-Reply-To: <20101119183900.GA1221@tiny.Sisis.de> Message-ID: References: <20101119143337.GA3023@current.Sisis.de> <201011191821.09308.hselasky@c2i.net> <20101119173519.GA3933@current.Sisis.de> <201011191916.53655.hselasky@c2i.net> <20101119183900.GA1221@tiny.Sisis.de> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.6 (wonkity.com [127.0.0.1]); Fri, 19 Nov 2010 12:39:13 -0700 (MST) Cc: freebsd-usb@freebsd.org Subject: Re: copying /dev/da0 with dd(1) to file: output differs X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Nov 2010 19:39:20 -0000 On Fri, 19 Nov 2010, Matthias Apitz wrote: > El d?a Friday, November 19, 2010 a las 07:16:53PM +0100, Hans Petter Selasky escribi?: > >>> I was thinking in a tool just reading each file block by block, >>> comparing the blocks and noting the 1st diff with block offset number. >>> (some 10 lines of C code :-)) >>> >>> matthias >> >> Maybe you need to write a small C-program to do that. >> >> You can use bcmp() to compare two buffers. > > Will do that tomorrow. > > Just an idea: The USB key in question was new and I only created the > file system on it the usual way (fdisk, bsdlabel, newfs). Then I > restored the dump on it (which took 26 hours for 3.1 GByte dump file). > The USB key boots fine, btw. 26 *hours*? USB 1.1? > Could it be that unwritten/unformatted blocks are read as random data > from that USB key? Well, they could be anything. But the original filesystem has formerly-used blocks with old data from deleted files. dump doesn't copy those, but dd does. > Should I overwrite the full USB key from /dev/zero? Possibly there would still be differences. Filesystem metadata like date last mounted, for example. If you want a block-by-block duplicate, the brute-force method is to just dd the whole drive. Use bs=64k or bs=1m to help reduce overhead.