aboutsummaryrefslogtreecommitdiff
path: root/sbin/bsdlabel/bsdlabel.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove comment about "-r" flag from readlabel. "-r" is a no-op.Craig Rodrigues2008-03-231-1/+0
| | | | | | | | | The is comment is left over from the old disklabel command. Reviewed by: phk Notes: svn path=/head/; revision=177517
* Allow bsdlabel to operate on labels that have at most 26 partitionsMarcel Moolenaar2007-12-091-3/+5
| | | | | | | | by virtue of there not being any (lower-case) letters avaliable for more partitions. Notes: svn path=/head/; revision=174501
* o '-s' flag was killed in rev. 1.75. Clean getopt(3).Maxim Konovalov2006-10-201-1/+1
| | | | | | | | | PR: bin/104616 Submitted by: Oliver Fromme MFC after: 1 week Notes: svn path=/head/; revision=163539
* Attempt to improve the logic for automatically sizing partitionsIan Dowse2005-08-141-5/+62
| | | | | | | | | | | | | | | to take into account the new default of starting the first partition after the boot blocks instead of at sector 0. If you used automatic sizing when the first partition did not start at 0, you would get an error that the automatically sized partition extended beyond the end of the disk. Note that there are probably still many more complex cases where automatic sizing and placement will not work (e.g. non-contiguous or out of order partitions). Notes: svn path=/head/; revision=149061
* Fix the derivation of the GEOM name from the specified device name byRalf S. Engelschall2005-01-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | complementing the existing special case of a not existing /dev prefix with the recognition of an already existing /dev prefix. This implicitly solves the following two issues related to working on GEOM devices /dev/foo/bar (which have the GEOM provider name "foo/bar") with the expected commands like "bsdlabel /dev/foo/bar": 1. the error "Geom not found" when trying to write or edit the BSD label (because previously the incorrect GEOM name "bar" instead of "foo/bar" was derived from "/dev/foo/bar"). 2. the multiple times reported "magically introduced" partition offset of 63 blocks and the resulting errors like "partition extends past end of unit" and "partition c doesn't start at 0!". This implicitly resulted because bsdlabel(8) determines the "MBR offset" via GEOM and (intentionally) silently falls back to an offset of 0 if it could not be queried (which is the case if the name was incorrectly derived). Usually (at least on PCs) the offset for the first slice is 63 blocks and bsdlabel(8) automatically subtracts them from the absolute offsets in the read on-disk BSD label, resulting in the display of an effective offset of 0. If the GEOM query fails, the assumed offset of 0 is subtracted and an incorrect effective offset of 63 is displayed and tried to be worked upon. Reviewed by: pjd MFC after: 1 week Notes: svn path=/head/; revision=139856
* The disk labels generated by bsdlabel can no address more thanBrooks Davis2004-09-091-0/+3
| | | | | | | | | | | | | | 0xffffffff sectors. Document this limit and avoid installing bogus labels on disks with more sectors. Allowing the installation of labels addressing as much of the disk as possiable may be a useful addition in some situations, but this was easy to implement and should reduce confusion. PR: bin/71408 Notes: svn path=/head/; revision=134973
* The multiplier prefix is actually a multiplier suffix.Dag-Erling Smørgrav2004-08-091-1/+1
| | | | Notes: svn path=/head/; revision=133384
* Use fallthrough to simplify the multiplier logic; optimistically addDag-Erling Smørgrav2004-08-081-9/+14
| | | | | | | | support for the T multiplier; improve the error message for unrecognized multipliers. Notes: svn path=/head/; revision=133348
* Fix some whitespace issues, and move a curly brace out of an #ifdef toDag-Erling Smørgrav2004-08-081-13/+14
| | | | | | | avoid confusing auto-indenting editors. Notes: svn path=/head/; revision=133347
* Implement a '-f' flag to teach bsdlabel to work on files instead ofLuigi Rizzo2004-03-301-6/+33
| | | | | | | disk partitions. Notes: svn path=/head/; revision=127650
* When installing boot blocks into an Alpha BSD label, setup the location,John Baldwin2004-03-151-0/+10
| | | | | | | | | | | length, and flags fields at the end of the SRM boot sector so that SRM can find the bootstrap code. This fixes bsdlabel -m alpha to generate bootable disklabels. Reviewed by: phk Notes: svn path=/head/; revision=127044
* Only automatically create an 'a' partition when there is nothingPoul-Henning Kamp2003-10-181-4/+22
| | | | | | | but a 'c' partition. Notes: svn path=/head/; revision=121222
* Remove the hardcoded default block/frag/cpg values from bsdlabelIan Dowse2003-10-051-44/+5
| | | | | | | | | | | | and the logic for setting them according to the partition size. Instead, unspecified filesystem values are left at 0 so that newfs will use its own defaults. It just caused confusion to have the defaults duplicated in two different places. Reviewed by: phk Notes: svn path=/head/; revision=120821
* When we initialize a disk with a virgin label, create also an 'a'Poul-Henning Kamp2003-08-271-0/+4
| | | | | | | | partition which starts after the bootstrap area and fills the entire disk. Notes: svn path=/head/; revision=119510
* Augh! Fix the sparc64 build:Poul-Henning Kamp2003-06-071-0/+8
| | | | | | | | If we don't have a default label location for the compiled architecture, insist that a -m <architecture> option is specified. Notes: svn path=/head/; revision=115995
* Sanitize setting of labeloffset and labelsector.Poul-Henning Kamp2003-06-071-11/+4
| | | | Notes: svn path=/head/; revision=115948
* Give ia64 the exact same semantics as i386 with respect to non-512Poul-Henning Kamp2003-06-041-1/+2
| | | | | | | byte sector devices. Notes: svn path=/head/; revision=115809
* Unbreak ia64. 'nuff said.Marcel Moolenaar2003-06-041-0/+4
| | | | Notes: svn path=/head/; revision=115794
* Fix sectorsize != 512 on i386 and pc98. Add test cases for same.Poul-Henning Kamp2003-06-021-6/+19
| | | | Notes: svn path=/head/; revision=115696
* Simplify the GEOM OAM api: Drop the request type, and let everythingPoul-Henning Kamp2003-06-011-6/+6
| | | | | | | | | | | hinge on the "verb" parameter which the class gets to interpret as it sees fit. Move the entire request into the kernel and move changed parameters back when done. Notes: svn path=/head/; revision=115624
* Protext copyright[].David E. O'Brien2003-05-311-3/+2
| | | | Notes: svn path=/head/; revision=115449
* Add pc98 archtecture entry.Poul-Henning Kamp2003-05-131-0/+4
| | | | | | | Approved by: re/rwatson Notes: svn path=/head/; revision=114982
* Before reading an ascii label, initialize with defaults so thatPoul-Henning Kamp2003-05-091-0/+1
| | | | | | | | | getasciipartspec() has a sectorisize in case it needs one. Approved by: re/jhb Notes: svn path=/head/; revision=114862
* Sigh, this shows just how much one can be conditioned my the environment:Poul-Henning Kamp2003-05-091-9/+7
| | | | | | | | | | | Just because we for the last ten years have fought for every byte in the boot code on i386, doesn't mean that other architectures could not actually have space to spare there. Remore debugging message. Notes: svn path=/head/; revision=114860
* Add transparent handling of mbroffset for backwards compatibility.Poul-Henning Kamp2003-05-041-1/+25
| | | | Notes: svn path=/head/; revision=114673
* More axe-work:Poul-Henning Kamp2003-05-031-102/+115
| | | | | | | | | | | | Hide all the historical fields of the label, unless people ask for them with -A, set them to intelligently chosen defaults otherwise. Distill the manual page to remove inaccuracies, misundertandings and obsolete information. It can probably still be done better but now at least it is not misinforming people. Notes: svn path=/head/; revision=114574
* Some minor remodelling with a large axe.Poul-Henning Kamp2003-05-031-279/+171
| | | | Notes: svn path=/head/; revision=114571
* Use new geom.ctl based OAM instead of ioctls.Poul-Henning Kamp2003-05-031-95/+94
| | | | | | | Various cleanup. Notes: svn path=/head/; revision=114569
* bsd_disklabel_le_dec() takes an extra argument now.Poul-Henning Kamp2003-05-021-1/+2
| | | | Notes: svn path=/head/; revision=114557
* Vastly simplify architecture handling: Use properties of label asPoul-Henning Kamp2003-05-021-124/+19
| | | | | | | | | | | recorded in global variables, rather than checks on the architecture. Drop horribly code to handle MBR/PC98's embedded in the BSD label area. If you need to have an MBR or PC98 on your disk, you should not overlap it with a BSDLABEL, if you don't need it, this code is nothing but trouble. Notes: svn path=/head/; revision=114552
* Default the location to the compiled for architecture if no -m arg specified.Poul-Henning Kamp2003-05-021-3/+9
| | | | Notes: svn path=/head/; revision=114551
* Add three global variables which contain the location, size and a flagPoul-Henning Kamp2003-05-021-37/+20
| | | | | | | | | | | | | | | for the alpha checksum, and set them depending on the specified architecture Don't look for disklabels every 16 bytes, look the only place they should be for the current architecture. Always read the label from the raw disk and decode it into struct disklabel rather than trust a cast from random addresses. When writing to the raw disk, encode the label properly. Notes: svn path=/head/; revision=114550
* Remove the well-intentioned, but ill thought out check which prevents usPoul-Henning Kamp2003-05-021-7/+0
| | | | | | | | from dd(1)'ing the boot code off one drive and have bsdlabel write it on another. Notes: svn path=/head/; revision=114545
* First scrub of s/disklabel/bsdlabel/Poul-Henning Kamp2003-04-181-8/+8
| | | | | | | bsdlabel.5 deliberately exempted, its contents looks less than useful. Notes: svn path=/head/; revision=113680
* Don't die of SIGSEGV on a missing fstype fieldYaroslav Tykhiy2003-04-011-0/+4
| | | | | | | | | in a saved disklabel file. MFC after: 1 week Notes: svn path=/head/; revision=112945
* Teach disklabel(8) about different hardware architectures.Ruslan Ermilov2003-03-161-101/+164
| | | | | | | | | | | | | This is aimed at creating floppies during cross-releases. For different endianness machines, a tool like bswapfs(8) is necessary to make the generated floppies readable on the target machine. While here, fixed unaligned access on Alphas. Tested on: i386, alpha Notes: svn path=/head/; revision=112307
* Deal with vestiges of d_boot[01].Ruslan Ermilov2003-02-231-16/+2
| | | | Notes: svn path=/head/; revision=111286
* If we fail to open O_RDWR, try opening O_RDONLY, if we use ioctlsPoul-Henning Kamp2003-01-261-0/+6
| | | | | | | | | to fiddle the disk we can get away with it. Try to use DIOCBSDBB to write boot code. Notes: svn path=/head/; revision=109901
* IA64 still needs to be able to run on MBR+BSD combination, so put disklabelPoul-Henning Kamp2003-01-261-0/+1
| | | | | | | | | back. Pointed out by: peter Notes: svn path=/head/; revision=109891
* Drop the silly notion that i386 has two bootstrap files now that sys/bootPoul-Henning Kamp2003-01-261-138/+24
| | | | | | | | | | | creates a single file named just "boot". Apart from the fact that the option "-s" is now gone and that "-b" should be pointed at /boot/boot instead of /boot/boot1, this patch should be a no-op. Notes: svn path=/head/; revision=109889
* Remove #if checks for NUMBOOT==0, it's not relevant for any architecturePoul-Henning Kamp2003-01-261-30/+0
| | | | | | | | and if we get such an architecture, we can just avoid using the relevant options. Notes: svn path=/head/; revision=109887
* Offer better advice in #error.Poul-Henning Kamp2003-01-261-5/+3
| | | | | | | Remove yet a usage message about -N/-W Notes: svn path=/head/; revision=109884
* Remove ia64 and powerpc #ifdefs: this is i386/pc98/alpha only code.Poul-Henning Kamp2003-01-261-3/+3
| | | | Notes: svn path=/head/; revision=109882
* Remove #ifdef __sparc64__ code. GEOM uses native SUN labels on this arch,Poul-Henning Kamp2003-01-261-59/+2
| | | | | | | so no hacks are needed. Notes: svn path=/head/; revision=109879
* Fix typo in last commit.Poul-Henning Kamp2003-01-261-84/+87
| | | | | | | Rearrange bits in writelabel() a bit for improved readability. Notes: svn path=/head/; revision=109878
* Remember to remove -N and -W from usage.Poul-Henning Kamp2003-01-261-2/+0
| | | | Notes: svn path=/head/; revision=109875
* Don't fiddle write-protect status of disklabel, it's a discontinued feature.Poul-Henning Kamp2003-01-261-8/+0
| | | | Notes: svn path=/head/; revision=109874
* Retire the "-N" and "-W" options which implemented write-protectionPoul-Henning Kamp2003-01-261-25/+3
| | | | | | | | | | | | | | | | | | | | | | for the disklabel: This facility is OBE. First of all, we cannot sensibly implement this in a properly stacked environment. Second, if we did, it would confuse the heck out of users who wouldn't be able to "start from scratch" by dd(8)'ing /dev/zero onto /dev/da0. Third, the offered protection is not comprehensive: no other software would respect it. Fourth and finally, the disklabel is already protected against tampering if it controls open partitions. Uselessness of these options discussed with: peter Notes: svn path=/head/; revision=109872
* Clear part_set, part_size_type and part_offset_type before parsing theDag-Erling Smørgrav2003-01-161-0/+3
| | | | | | | | | | | ascii label; otherwise checklabel() might report spurious errors because of leftovers from a previous pass. Reviewed by: bde MFC after: 1 week Notes: svn path=/head/; revision=109378
* Rename the dos_partition structure for pc98 to pc98_partition.Yoshihiro Takahashi2003-01-041-1/+11
| | | | Notes: svn path=/head/; revision=108650