that the "int maxgroups" and "int *ngroups" parameters are separated into
two separate parameters which makes it possible to call multiple nsswitch
back-ends and have the results correctly merged.
getgrouplist(3) is now implemented using getgroupmembership(3).
Proposed on tech-userlevel on December 1, 2004.
contain a GENERIC kernel.
With this commit, NetBSD can now be successfully installed via sysinst on the
IP12 (Personal Iris / Indigo R3k) family of workstations.
* Add the IP12 kernel set to the list, and make it the default kernel selection
if we're installing on an IP12,
* Don't install ARCS bootblocks on IP12,
* Install the ECOFF kernel to the volume header for IP12.
filesystem and then follow existing symbolic links in that filesystem.
The choot is required to make absolute links be processed correctly,
and must be done by tar because the program (and input file) do not
exist inside the chroot.
Fixes PR install/5010 and install/8090 (at least)
trying to parse the output of ifconfig)
Loop if the user specifies an unsupported media type.
Run ifocnfig to set the media type (any anything else the user typed in)
before running dhcp to assign an address.
Correctly extract the defualt gateway from output of 'route -n show'
Extract nameserver from resolv.conf without using get_command_out(),
delete get_command_out().
Fixes (at least) PR install/11880, install/12706
Remove a 'Press <enter> to continue' message that was accidently left
in by a previous commit.
Fixes PR/18555 (and a recent discussion on a mailing list)
exists, and use the 'c' (raw) partition for boot code installation
instead of the 'a' partition (which will not work). This should fix
the problem that newly-partitioned and newly-installed disks will not
be made bootable by sysinst.
in PR install/27281.
XXX - Output is not correct since sysinst does not set the proper LC_CTYPE
yet (which happens to not affect umlauts, but sharp-s (0xdf))
The Iyonix is a desktop machine from Castle Technology, based on a 600MHz
XScale[tm] 80321 processor.
* Uses the bootloader from NetBSD/acorn32, which is now 32-bit compatible.
* Currently boots multiuser with a serial console.
* Device support is not yet complete.
With help from abs.
Move info about cylinders to the 'ask for units' menu.
(translations need checking, done by cutting sentences)
Stop i386 always asking for units.
Use BIOS cylinders for MBR and disk cylinders for the disklabel.
(code intended to do this, but got it wrong...)
Mark some menus as 'sub menu' or MC_SUBMENU so that the screen underneath
is saved.
Add GENERIC.MPACPI to i386 menu.
and bcylsize (bios cylinder size) can be calculated in the one place
it is needed.
The ask_sizemult() call will go once I decide what to to with the
(slightly useful) explanatory text about cylinder alignment.
a single function, the latter is now the return value of get_ramsize().
Changed all uses of rammb to get_ramsize().
Used the 64bit HW_PHYSMEM64 so silly things don't happen if the memory size
approaches (or even exceeds) 4GB.
Save the result in /etc/wscons.conf at the end of the install/upgrade.
Currently only builds for i386 - change arch/*/Makefile and add the
extra messages (though they could go into the msg.mi.* files).
Needs the 'Keyboard type' message translated in to German, French and polish.
Maybe the keyboard type names could be less cryptic...
I've made the error retry loops go back as far as the input menus.
Split all the pathname inputs into 2 pieces (base directory and set directory).
Reduced the size of some fixed strings.
Stopped the install aborting if ftp can't find a set (eg the X ones).
The French and Polish transations don't differenciate between Base_dir and
Set_dir - but that can be fixed later.
Convert ' ' to 0 to ensure a valid device name is genarated.
(This will be a problem in 'upgrade' when filesystems are mounted
using the targets extisting /etc/fstab.)
written into the correct place - even if the user decides not to update
the mbr code and has the old (pre layout change) code installed.
Tell the user that the mbr code needs updating if the new install uses
'all the disk' and teh old version had the bootselect code (otherwise you
get an empty menu).
Probably fixes PR install/25146
use union to align struct fs
don't check error return from fsck upgrade/downgrade runs
use RUN_DISPLAY | RUN_PROGRESS when running upgrade runs
don't use opendisk
much the same function).
Mainly some extra comments, also moved a 'static' so we use 512bytes of
stack and not static data. Killed call to access() as it is pointless
and doesn't do what you want (access is for suid programs to check whether
the real user could do the operation).
stuff: bz2 support, compress support, many non-required options.
now x_gzip supports "gzip -l" so sysinst should work for these platforms.
gzip will grow slightly - 400 or so bytes on x86 - but this is a small
price to pay for working -l support...
that has holes.
This needs the 'bios sectors per track' before it has been setup - so we
default it to the 'hardware' value. Since both numbers are 63, and this only
affects the size of the headers on extended partitions it should be safe.
leave 4 bytes for the Windows NT Drive Serial Number (DSN) at 440-443
(as mbr_sector.mbr_dsn).
Ensure that all the MBR & PBR code reserves space for mbr_sector.mbr_dsn.
Leave the bootsel magic number at 444-445 as mbr_sector.mbr_bootsel_magic
(instead of mbr_sector.mbr_bootsel.mbrbs_magic), but use 0xb5e1 (MBR_BS_MAGIC)
instead of 0xaa55 (MBR_MAGIC) to indicate that this change has occurred.
Rework MBR_BS_NEWMBR to mean "mbr_bootsel has moved to 400".
Modify fdisk(8) to automatically relocate the mbr_bootsel from 404 to 400
if mbr_bootsel_magic is the old value (0xaa55), and unset MBR_BS_NEWMBR
to flag that new mbr_bootsel code must be used if updating the MBR.
These changes fixes a problem where Windows 2000 or Windows XP would corrupt
the last 3 bytes + NUL of MBR partition 3's bootsel name if the bootsel name
was 5 characters long, replacing bytes 6-9 with the DSN.
Also, by explicitly reserving the space for the DSN we prevent problems in the
future if non bootsel MBR or PBR code had other information at bytes 440-443.
DISTRIBVERDEP in Makefile.distrib, and make both sysinst and
distribution notes use that information so that they rebuild
if the kernel version changes.
Distribution notes didn't have this before, sysinst had a private
(now outdated, since sys/sys/param.h now determines version) copy
of this.
Don't write out dummy extended partitions for unused ares in the extended
partition.
Add some more comments - I write this and I couldn't remember how it worked.
to a 2-clause licence (retaining UCB clauses (1) and (2)), per PR
22409 from Joel Baker, approved by Theo de Raadt, and ratified by
myself - the only discrepancy being the handling of the original
clause 3 in src/usr.sbin/yppoll/yppoll.c.
- Rename run_prog() to run_program() and remove the 'errmsg' argument (almost
never used).
- Be consistent about #define<space> in defs.h
- Allow BSDFFS partitions to be FFSv1 or FFSv2 (fixes PR install/23547)
- i386: install correct bootblocks for root filesystem type.
- Do 'fsck -p' before all mounts (but never a full fsck), rename fsck_xxx()
to mount_xxx() and remove some wrapper functions.
- Allow root to be an APPLEUFS partition - and allow them to be newfsed,
should fix PR install/23198
- Redo fstab processing for upgrade to avoid large static data items and
memory leaks. Change walk() to abort on user defined error.
(the fstab stuff really needs more work though...)
- i386: 'Warp' cursor to alternate option when selecting console/bootblocks,
should fix PR port-i386/23546.
- Allow MENU_ok and MENU_yesno to take user defined title.
- Ensure that mountpoint not defined for swap (and similar issues) when
editing netbsd label.
- Tweaks to error handling in run_program(), allow user to say that errors
are expected or that the display shouldn't be cleared before returning.
- Remove some old code that has been festering under #if 0
down to a cylinder boundary before adding in the requested size.
Stops the partition being one cylinder larger than requested when the
partition doesn't start at the beginning of a cylinder (eg for partitions
starting in sector 63).
Fixes part of PR install/23548
Tweak dependency rules for (menu|msg)_defs.h so that everything isn't
recompiled if the xxx_def file has changed but the generated header
is unaffected.
* use cd0a rather than cd0[cd] as the CDROM installation device.
This fixes problems with platforms that install from iso9660 images
encapsulated in a partition, and should not affect platforms that
don't.
* add RUN_PROGRESS to the run_prog() flags for ftp installs.
Okay'ed by David Laight.
Make sure that there is a domain set before printing a "search" line.
hosts:
Add domain to the second "localhost" line if there is a domain set.
Add domain to hostname (in addition to bare version) if there is a
domain set.
Patches from William Simpson, PR 21999
- rework run_prog() so that the program name (etc) is usually displayed if
the program generates any output, or terminates with an error.
Allow arguments to included in single quotes.
Try to collect console output so it doesn't interfere with curses.
- Add a '*' to the cylinder count if non-integral number of cylinders
(on disklabel editor)
- Only show partition type for unused partitions.
- Show size including unused space on '+' partition, remove a..z since
the don't relate to partition IDs (netbsd partition sizes)
- Fix deleting of 'user' partitions - killed size of next ptn.
- Don't default a swap partition is the disk already has one.
- Fix deleting of extended MBR partitions - changed size of ptn 2.
- Show error message if user tries something illegal in mbr editor.
- Default to old diskname (actually disk type - dunno why!)
- Use MI enable_rc_conf() to set RC_CONFIGURED=YES, use a single sed
command instead of a raft of code playing with files etc.
- Float some menus to just below header text, saves counting and lets
language variants have different height headers (use y=-1)
- Track whether anything is mounted on /mnt2 better.
- Put more texts into message file.
- Change english prose texts to be more correct.
- Stop french and polish versions core dumping if ptn start/size changed.
- Fix processing logic for saving /etc (action is still borked)
- Do tail-end setup if any sets (eg X) can't be found (but not if you give
in (yet)).
removing the advertising clause. Diffs provided in PR 22410 by Joel
Baker, confirmed to the board by Jason Downs.
With additional thanks to Jason Thorpe.
<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.
As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.
<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).
amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.
* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).
* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.
* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.
* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.
* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.
installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)
mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.
Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).