Date: Mon, 5 Dec 2011 11:38:46 -0600 From: Dan Nelson <dnelson@allantgroup.com> To: Patrick Lamaiziere <patfbsd@davenulle.org> Cc: FreeBSD <freebsd-questions@freebsd.org> Subject: Re: Command which does not work anymore? Message-ID: <20111205173845.GA53453@dan.emsphone.com> In-Reply-To: <20111205105130.161fc78a@mr129166> References: <20111205105130.161fc78a@mr129166>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Dec 05), Patrick Lamaiziere said: > Hello, > > I'm using 9.0 and the command below does not work, as far I remember > that worked fine with 8.2: > > The goal is to copy an usb image from an OpenBSD host to an usb key on > my desktop via ssh. > > On openbsd: > # cat ucop2.img | ssh patrick@xx dd of=/dev/da0 bs=10M > dd: /dev/da0: Invalid argument > 0+5 records in > 0+4 records out > 81920 bytes transferred in 0.107747 secs (760299 bytes/sec) dd with a bs= option tells dd to use read() syscalls with a 10mb size, but ssh is going to feed it data in much smaller chunks, and they're unlikely to be multiples of a disk block in size (which you have to use if you are writing directly to a raw disk device). The "0+5 records in/0+4 records out" lines say that dd read 5 blocks of data (but they were less than 10mb), and wrote 4 blocks (again less than 10mb). Try using a smaller blocksize (8k or 4k), or use a buffering program like ports/misc/team or misc/buffer just in front of your dd command, so that dd always sees block-sized writes from its stdin stream. If that command worked in 8.2, it was just by accident. -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111205173845.GA53453>