Date: Fri, 20 Aug 2004 15:36:54 +0100 From: "Richard P. Williamson" <richard.williamson@u4eatech.com> To: Warren Block <wblock@wonkity.com>, freebsd-questions@freebsd.org Subject: Re: vnconfig and a compact flash disk image Message-ID: <6.1.2.0.2.20040820150157.027c7920@cygnus> In-Reply-To: <20040820074543.E1899@wonkity.com> References: <6.1.2.0.2.20040820135438.027c77d8@cygnus> <20040820074543.E1899@wonkity.com>
next in thread | previous in thread | raw e-mail | index | archive | help
At 14:49 20/08/2004. Warren Block had this to say: >On Fri, 20 Aug 2004, Richard P. Williamson wrote: > >>But how can I mount it? The format is a 28Mb slice (a) and a 4Mb >>slice (e). I've tried >>vnconfig vn0 sanDisk.32Mb.image >>and >>vnconfig vn0a sanDisk.32Mb.image >>but fdisk tells me 'invalid superblock' when pointed at /dev/vn0[a]. > >See the example of how to mount an ISO CD image in the examples section of the vnconfig man page; it should be the same, except the filesystem type will be msdos. > >How to deal with the two partitions, I'm not sure. If you do the math just right, you should be able to dd each to a different file. msdos? Ok, that confuses me. The flash card isn't msdos compatible (or shouldn't be). According to fdisk, it is 165, which is the way it was created: venus# vnconfig vn0 san32.img venus# fdisk /dev/vn0 fdisk: can't get disk parameters on /dev/vn0; supplying dummy ones ******* Working on device /dev/vn0 ******* parameters extracted from in-core disklabel are: cylinders=1 heads=1 sectors/track=1 (1 blks/cyl) parameters to be used for BIOS calculations are: cylinders=1 heads=1 sectors/track=1 (1 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 32, size 62688 (30 Meg), flag 80 (active) beg: cyl 0/ head 1/ sector 1; end: cyl 489/ head 3/ sector 32 The data for partition 2 is: <UNUSED> The data for partition 3 is: <UNUSED> The data for partition 4 is: <UNUSED> venus# The output is the same regardless if it is an image created by dd'ing /dev/ad8 or /dev/rad8 (which is how I'm getting the "san32.img" off the flash card in the first place). The 'can't get disk parameters' worries me. Does dd if=/dev/rad8 of=san32.img not do what I think? If I fsck -b 16 /dev/rvn0, I get something that is almost sane: venus# fsck -b 16 /dev/rvn0a Alternate super block location: 16 ** /dev/rvn0a ** Last Mounted on /flashb <-- that is correct! ** Phase 1 - Check Blocks and Sizes 1179403647 BAD I=10 UNEXPECTED SOFT UPDATE INCONSISTENCY 151060737 BAD I=10 etc, ad nauseum. I'm hoping I won't need to disassemble the file, because it is possible that we'll be moving to a different flash card, size or manufacturer at some point in the future (like when you can't buy 32Mb flash cards, any more, hrmph). I'd really like to have a way to mount both slices without having to 'do the math' more than once for each card type, rather than for each card image. And if I do need to disassemble the card image, how to put it back together again? Tricksy. Thanks for your answer, rip
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.1.2.0.2.20040820150157.027c7920>