[flashboot] Script for diskimage-creation
Rickard Dahlstrand
rd at tilde.se
Mon Nov 20 21:25:59 EST 2006
Rickard Dahlstrand wrote:
> Jacob Winther wrote:
>
>> One other thought, my flash it 500Mb, and the contents of it is only
>> 10Mb, is there any way of making a smaller image that still looks like
>> a full image once installed. I guess my thoughts was that if the mbr,
>> disklabel and filesystem only write stuff to the beginning of the
>> disk, can you just write the first 10Mb of the disk and still have it
>> ready to be fully utilised, basically it would drop the time to write
>> the image down drastically.
>>
> The thought has crossed my mind. However I know to little about these
> things to take any shortcuts, I have no idea how vnconfig will like a
> truncated image. An alternative is as you state above to use gzip as
> this is quite effective in compressing the zeros in the end.
>
> I'm coping the list if there is anyone else has thoughts on this subject.
>
I have done some more research and here is my conclusion. Fell free to
comment.
When we use the build-diskimage-script we are telling disklabel, fdisk
and all the other tools that the disk we are writing to are for example
128 MB, it will then allocate and create a partition with that size.
When we later write that image to a flash we are writing the
partition-info as well. This means that if we write a 128 MB image to a
256 MB flash this will give us a 128 MB disk with 128 MB unused. In
other words you can only use the 128 MB of the flash and the rest would
be unallocated.
Below are some output from a 128 MB file written to a 256 MB flash. As
you can see obsd reports this as a 256 MB disk at boot and a 128 MB
partition in disklabel and fdisk.
So if we where to make a default smaller partition in the script we
would have to resize it later in the process if the user wanted to use
more of the flash. (There are some info on a process like that here:
http://wiki.pfsense.com/wikka.php?wakka=FlashHowTo )
Other than that I don't think there is a problem. I don't know how
sec/cyl differences will affect the disk, but from what I can see from
other sources this should be no problem.
Rickard.
------SNIP-------
wd0 at pciide0 channel 0 drive 1: <SILICONSYSTEMS INC 256MB>
wd0: 1-sector PIO, LBA, 248MB, 508928 sectors
------SNIP-------
[root at probe22 root]# disklabel -r wd0
# Inside MBR partition 3: type A6 start 32 size 250848
# /dev/rwd0c:
type: SCSI
disk: vnd device
label: fictitious
flags:
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 8
sectors/cylinder: 256
cylinders: 980
total sectors: 250880
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 250848 32 4.2BSD 2048 16384 952 # Cyl
0*- 979
c: 250880 0 unused 0 0 # Cyl 0
- 979
[root at probe22 root]# fdisk wd0
Disk: wd0 geometry: 490/16/32 [250880 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
*3: A6 0 1 1 - 489 15 32 [ 32: 250848 ] OpenBSD
[root at probe22 root]# df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/rd0a 29390 28340 1050 96% /
mfs:26470 23774 19174 3412 85% /usr/local
/dev/wd0a 243068 35436 195480 15% /flash
[root at probe22 root]# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/rd0a 14.4M 13.8M 525K 96% /
mfs:26470 11.6M 9.4M 1.7M 85% /usr/local
/dev/wd0a 119M 17.3M 95.4M 15% /flash
------SNIP-------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.mindrot.org/pipermail/flashboot/attachments/20061120/024a26f4/attachment.html
More information about the flashboot
mailing list