the target filesystem, but before mounting it. Use this on sparc64
to install the primary boot block, but install the secondary boot
(/ofwboot) later.
This allows sysinst to run at securelevel 1 (as long as we don't do an
upgrade install on the hard disk we booted from).
Even after almost a lost decade since NetBSD/luna68k was
switched to using ELF format by default back in 2001,
actually only one fix (bus.h) is required for a GENERIC kernel itself
to get multiuser login: prompt on a real hardware. Hurrahhh!!!
Demonstrated with a working Xorg mono server on the NetBSD booth
at Open Source Conference 2011 Kansai @ Kyoto:
http://www.ospn.jp/osc2011-kyoto/
"Very impressed," commented by Tomoko YOSHIDA,
Program Committee Chair of the Conference,
and some other OMRON guys.
Special Thanks to Tadashi Okamura, for providing
a working SX-9100/DT "LUNA" for this mission.
Changes details:
sys/arch/luna68k/include/bus.h
- handle stride properly even on multi and region ops for MI spc(4)
- also fix stride handling of (currently unused) 2 and 4 byte ops
sys/arch/luna68k/conf/Makefile.luna68k
sys/arch/luna68k/conf/kern.ldscript.head
sys/arch/luna68k/conf/kern.ldscript.tail
- build a faked a.out kernel using elf2aout(8) tool
and a linker script derived from cats and shark
for the LUNA firmware that loads a.out binary directly
via network or from a UNIOS partition on a local disk
sys/arch/luna68k/dev/omrasops.c
sys/arch/luna68k/dev/omron_rfont.h
- use the original OMRON font derived from 4.4BSD-Lite/luna68k
rather than gallant19 which is used on Sun workstations
(XXX omrasops.c should be rewritten to use generic wsfont(4))
distrib/luna68k/*
distrib/utils/sysinst/arch/luna68k/*
etc/etc.luna68k/MAKEDEV.conf
etc/etc.luna68k/Makefile.inc
sys/arch/luna68k/conf/INSTALL
- build a ramdisk based INSTALL kernel with sysinst(8) for luna68k
- also build an installation iso image for luna68k
sys/arch/luna68k/conf/GENERIC
- enable SYSVSHM (and other SYSV*) options for Xorg server
More Xorg changes (which need some more cleanup) and
isiboot.c fixes will come soon.
is safe to remove a "floppy" now) into two parts: md_hello to tell MD
specific informations (empty on most archs), and md_may_remove_boot_medium,
which is only added if md_may_remove_boot_medium() says so - by default only
say so on non local / filesystems, and never if / is on CD/DVD.
Fixes first part of PR 44738.
XXX - I'm not a linguistic genious nor semantic mind reading sed process,
please fix any fallout if you are a native speaker of an affected language
and/or user of a port I did not test. Send-pr if in doubt.
NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the
Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching
reconfigurable computing. eMIPS allows dynamic loading and scheduling
of application-specific circuits for the purpose of accelerating
computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research
by Alessandro Forin and Neil Pittman. Microsoft Corporation has
donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's
contribution. The second part includes the hardware accelerator
framework and will be proposed on tech-kern soon.
Users who really really really want to change the default setting can
continue to change their cipher algorithm right after a clean install
by modifying /etc/passwd.conf and regenerating the root password if
previously set by sysinst.
per running INSTALL kernel name taken from sysctl kern.version.
XXX: on all arm ports, sysctl hw.cpu_model returns a processor name,
XXX: not machine model as mentioned in <sys/sysctl.h>.
XXX1: I don't think it's worth to keep bad144 for modern flash devices.
XXX2: Should we still maintain non-English translations without a maintainer
even after we removed www translations?
Use IPAQ and JORNADA720 instead in messages per md.h.
XXX1: hpcarm seems to have more kernels.
XXX2: hpcarm doesn't have a common INSTALL kernel so
choosing a kernel set during sysinst doesn't make sense.
seen in the wild. So, before accepting arbitrary strings from there,
validate at least slightly and ignore if the entries are not properly
0 terminated or contain controll characters.
the install media provides the utilities. Set this for sparc64 for now,
since the bootblocks don't deal with the default LFS parameters used
by sysinst.
on the CD) if we can find CDs (i.e. media, not drives) automagically
and check the standard paths on it.
If we find multiple CDs, offer a menu to select showing the volume
name. If something goes wrong, fall back to the manual input method.
In typical installs this makes us just proceed with extracting the sets
after selecting "install from CD/DVD", w/o any further interaction.
As a side effect fixes PR 43012.
XXX new messages need translations.
s/MP/UP/ kernels were otherwise in place.
in my testing on a U60, i couldn't really notice any different in
speed, but we need testing on a U1/U5/U10 systems to be sure that
GENERIC.UP isn't necessary.
for sparc64, this is some what required as USIIIi systems have the
memory controller on the CPU, and unless the CPU is spunup, a UP
kernel will not function on these systems. (we obviously need to
join the NUMA-for-netbsd camp now, too! :-)
this should enable the installer to function on all systems that we
support, but also give the option for people to install GENERIC.UP
on their single-cpu systems if they choose.
XXX: i haven't actually tested sysinst with this, but i have built
both sparc and sparc64 release iso's successfully with this change
(sans having to comment out kern_ctf.c.)
ramdisks and prefer disklabel elsewhere.
Based on discussion on affected port lists (port-sparc port-sparc64
port-sun3 port-sun2 port-atari port-mvme68k).
All listed ports plus amd64 test built after change
passwd.conf file to passwd.conf.pre-sysinst file and creating a new one
from scratch:
- This is consistent with all other edits of configuration files performed
by sysinst. (E.g. in-place changes of rc.conf.)
- This eases the upgrade of the system to a newer set of files because the
diffs presented by etcupdate are easier to read.
No objections in tech-install@. Tested installing NetBSD/amd64.
uint32_t. Might make sysinst work on disks between 1TB and 2TB.
Not actually tested because I don't have a big disk.
Hopefully I haven't broken the small disk case!
Set WARNS= 4 so that comparisons of signed and unsigned block numbers
are trapped.
understanding of cryptography won't choose DES as the default on his system.
The default option should be the best possible in case the user is unsure.
As man page says, installboot(8) is required only OpenFirmware 1 and 2
machines and even on such machines the root partition has to be at the
beginning of the disk to make installboot(8) work.
On OpenFirmware version 3 machines, the strategy provided by
installboot(8) doesn't work, and they need to have an extra
native partition (HFS or FAT16) which can be recognized by
the newer firmware to put a loadable bootloader.
If PART_A has some offset, we can assume the disk is partitioned
for a machine with OF3, which does't require installboot(8).
Eventually, we should provide an independent partitioning method
for OpenFirmware 3 machines (fdisk MBR partition + FAT16 partition
for ofwboot.xcf as OpenBSD does), but it may require some new API
to get OF version in sysinst.
don't blow away existing config files.
- Wait until all sets have been unpacked to run postinstall. Previously
we ran it after extracting etc, which meant that /var/db/obsolete/ was
not fully populated.
for the first swap partition use type sw,dp instead of sw, so dump device
gets configured correctly if swap is not on the second partition.
Fixes PR install/42148.
- Re-order the md_*() definitions so they are in the order called
- Add some comments
- Remove obsolete md_set_no_x() definition
- Remove md_copy_filesystem()
- #if defined(DEBUG) declare backtowin(void) to avoid scattering
externs in various md .c files
mbr.[ch]:
- Add a set_bios_geom_with_mbr_guess() which can be called by all
the non x86 ports rather than copying the same code into arc,
bebox, cobalt, evbmips, evbppc, hpcarm, hpcmips, landisk, ofppc,
prep, sandpoint, and zaurus md.c
install.c:
- Remove now unnecessary call to md_copy_filesystem()
upgrade.c:
- Move move_aout_libs() here, and put under #ifdef AOUT2ELF
- Rather than having *every* md_update call wrefresh(curscr),
wmove(stdscr, 0, 0), wclear(stdscr), and wrefresh(stdscr),
move them here
arch/acorn26/md.c:
- Just include arch/acorn32/md.c, but add a note there warning
about this, and while here add a note to i386/md.c that it
is included by amd64
arch/*/md.c:
- By all means "Vive la difference", but we have 38 pairs of md.[ch],
and they could not even agree on the order in which to list the
md hooks, let alone formatting. Sort the md hooks to match the
(now sane) order in def.sh, and try to normalise the formatting
- Also copy across some function level comments everywhere
- Ensure functions only used inside each md.c are defined as static
- Remove some now unused functions
- Some files had enable_rc_conf in #ifdef DEBUG. Add this to all
- bebox, evbppc and sandpoint were still playing broken games with
copying the booted ramdisk to the target disk, the primary result
of which was just to slow things down and ensure the target system
lost the .profile extracted from the sets. Just kill this.
- For some ports md_update() called endwin(), and in others not.
Take a cure from i386/amd64 and a few other more active ports,
and update everything to match (no endwin())
- In a couple of cases correct port names in comments
- ANSIfy some lingering old style functions
- Consistently use "return 0;" rather than "return (0);"
More of the mbr code should be abstracted, along with the
get_ramsize() / set_swap() logic, but this is (more than)
enough for one day...
sysinst built for all ports but only runtime tested on amd64 & i386
the device name
Try ATA/SCSI identify commands and when successful, use the model information
along with the disk size when creating the 'Available disks' menu.
Instead of having a list of disks (wd0, wd1, sd0) the menu now looks like:
Available disks
>a: wd0 (977M, SanDisk SDCFB-1024)
b: wd1 (233G, FUJITSU MHY2250BH)
c: sd0 (246M, LEXAR JUMPDRIVE ELITE)
ok martin@
- add HAVE_UFS2_BOOT define on ports which have UFS2 capable loader
- reject UFS2 for root file system on ports !HAVE_UFS2_BOOT
- add a MI function to get bootxx name from root file system type
per MD defines and remove md_bootxx_name() from arch/i386/md.c,
so that alpha can use bootxx_ffsv2 for UFS2 as well as x86
Tested on i386 and alpha with FFSv1 and FFSv2, and also
tested on vax (on simh) for !HAVE_UFS2_BOOT case.
de translation is provided by martin@.
No objection on tech-install, and "move forward with it" from perry@.
XXX1: not tested on all ports, more ports might/could have UFS2 root support
XXX2: no es, fr, and pl translations, even en message should be improved
XXX3: alpha has a fixed en message without MSG
Linux compat, and we are planning to kill ptrace and make the debugger
use /proc instead.
- kernfs is hosed at the moment and nothing appears to rely on it any more,
so disable it. (IPsec did at one point, IIRC).
that we try to link in objects from libc.a where we also provide our
own replacements here, leading to multiple definitions during linking.
OK'ed by christos@
via sysctl(3) and copy appropriate tertiary boot.atari loader
from /usr/mdec/{std,milan} into targetroot.
Full fresh installations of 5.0_BETA and 4.0_STABLE with the same change
have been tested by David Ross on port-atari.
Fixes the final portion of PR port-atari/40315, and
pullup requests to both netbsd-4 and netbsd-5 will be sent shortly.
ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).
[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
new locale-db implementation using citrus_db backend,
see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].
[tools]
- mklocale(1): add new option ``-t'' that generates new style
LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
zh_CN.eucCN -> zh_CN.GB18030
and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch:
i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
This does not realy change anything in the crunched version, but helps
debugging foreign languages and will magically start working once we
un-castrate locales in the crunched environment.
before extracting sets, so do not try to delete them after install.
Now the '/.profile' from etc.tgz will actually be left after install
Note: bebox, evppc, and sandpoint still have a md_copy_filesystem() which
dumps a copy of the install filesystem into the target before extracting,
so I've left them removing /.profile /.termcap and /sysinst after install.
Otherwise, system util.h is not included when compiling ifconfig.c, the
snprintb prototype is missing, and the flags don't get printed correctly
on hp700.
Don't access address 0 and core dump when it does!
Fixes sysinst, the install ramdiskbin gets built against the standard
archive libraries (at least on amd64) which are build with HAVE_WCHAR.
various address families (inet, inet6, iso, atalk) and protocols
(802.11, 802.3ad, CARP), simply by trimming the list of sources in
the Makefile. This helps one customize ifconfig for an embedded
device or for install media, and it eliminates a lot of grotty
#ifdef'age. Now, the ifconfig syntax and semantics are finalized
at run-time using the constructor routines in each address-family/protocol
module.
(In principle, ifconfig could load virtually all of its syntax from
shared objects.)
Extract a lot of common code into subroutines, in order to shrink
the ifconfig binary a bit. Make all of the address families share
code for address addition/replacement/removal, and delete "legacy"
code for manipulating addresses. That may have broken atalk and
iso, despite my best efforts.
Extract an include file, Makefile.inc, containing the make-fu that
both ifconfig and x_ifconfig share.
Sprinkle static. Change some int's to bool's. Constify.
Add RCS Ids to carp.c and env.c. Move media code to a new file,
media.c. Delete several unneeded header files.
Set, reset, and display the IEEE 802.11 attribute, 'dot11RTSThreshold'.
Bug fix: do not require both a interface address and a destination
address for point-to-point interfaces, but accept a interface
address by itself.
(1) By moving the "Choose your partition" menu up one line, we gain two
lines, since the scroll... message is gone.
(2) With the mac68k MAXPARTITIONS == 8, we only need 7 lines for the
partition table, which does not display the 'c' partition.
After both changes, the display fits nicely on an 80x24 screen even
for a full partition table. Should mac68k want to bump MAXPARTITIONS,
though, the partition table needs to be scrollable.
label looks like an autogenerated "whole disk" label, make sure that
we adjust the 'a' partition when we create an MBR that does not start
right at the start of the disk. Also when we force this partition to be
mounted, init it's mount point to / and force a newfs.
improved modularity and extensibility.
In the new architecture, a directed graph of argument-matching
objects (match objects) expresses the set of feasible ifconfig
statements. Match objects are labelled by subroutines that provide
the statement semantics.
Many IPv4, IPv6, 802.11, tunnel, and media configurations have been
tested.
AppleTalk, ISO, carp(4), agr(4), and vlan(4) configuration need
testing.
- Make MULTIPROCESSOR mandatory on i386.
Installation changes:
- Update installation section of release notes to match reality.
- Rename INSTALL to INSTALL_FLOPPY, retire INSTALL_LARGE.
- Build INSTALL kernel from GENERIC, like on amd64.
- Update boot menu to allow disabling ACPI and/or SMP.
- Remove GENERIC.NOACPI from the installed kernel list.
- TODO: install default boot.cfg in etc.tgz.
- TODO: possibly enable PCI fixup stuff at runtime if ACPI is disabled.
Build changes:
- No longer build ALL, it's for verification, is slow to build and the
build process is already crippled by the number of kernels built.
- No longer build GENERIC.NOACPI.
chose manual, the generated rc.conf has dhclient details instead
of defaultroute. (Noticed this when dhclient ran successfully,
but network failed so I entered network settings manually.)
Now only defines dhclient rc.conf variables when DHCP is used
else defines the defaultroute.