- Use newfs to compute the actual filesystem required size.
- Fix the computation of set sizes to account for blocks and fragments.
This results into a 95% full filesystem for my test (Total 566MB, 24MB free)
from which 8MB is my requested overhead. Not perfect, but good enough.
in the "Available disks" list during sysinst procedure
to prevent users from shooting their foot in case of
installation using install-image on a USB stick.
Per suggestion in PR/47195.
in the default file system (assuming which come with the CD/USB image)
and skip distmedium menu if the root file system is not md(4).
Also change "CD-ROM / DVD" menu option accordingly on ports which
have install images. PR/47038
XXX: still no responsible maintainer of non-en translations
the default remains "cd0a", but i386 sets "cd0a", "mcd0a" while vax
takes "cd0a", "racd0a"
- Add get_default_cdrom() to disks.c, which is called in init(). This
checks the contents of hw.disknames against CD_NAMES. The first one
found (minus partition letter) is picked, otherwise the first entry
in CD_NAMES is used
The primary beneficiary is vax systems with an MSCP but no SCSI CD
drive, which now default to (a valid) racd0a rather than an invalid
cd0a. The obvious example being simh-vax
sysinst fails with "floating exception" after
changing MBR partition size in MBR editor menu
if the target disk doesn't have valid MBR partition
or has a valid partition 0 whose offset is not 1MB aligned
(like 63 sectors).
read_mbr() (which calls get_ptn_alignment()) is called
before set_bios_geom(), so bhead is not initialized there
and ptn_alignment could be zero.
To workaround, explicitly call get_ptn_alignment() again
in edit_mbr() to update ptn_alignemnt per BIOS geom values.
Enables the user to configure a few additional items, including using
pkgin to manage binary packages, in a post-install menu which replaces
the series of questions (Do you want to set a root password? etc).
This is by no means a perfect solution, nor should it discourage anyone
from working on more sweeping changes to sysinst.
Some bug fixes, and .de translation provided by Julian Fagir.
XXX .es, .fr and .pl translations still needed. Please help!
i.e. DEFAULT_UFS2 as src/distrib/utils/sysinst/bsddisklabel.c does
since post-NetBSD5. This avoids rendering an i386 or amd64 system
unbootable if the given example is thoughtlessly cut-and-pasted on
a NetBSD6.x system (been there, done that ;-) Qualify the descriptions
of /usr/mdec/bootxx_ffsv{1,2} along those lines.
Fixed a small typo in comment of distrib/utils/sysinst/arch/amd64/md.h.
Ok by releng@
- fix typos in timecounter names.
- make sure to drain Tx FIFO to avoid clobbering
kernel boot messages.
- allow to have the 3rd UART.
- add missing time-of-day clock support.
Ok by releng.
and then modified, it is much easier to let this late, user-oriented
customisation be done automatically. These mods let mkimage change
information based on files in a "custom" directory, which can be set
in mkimage using -c customdir.
After all other configuration, the files under custom/ will be copied
into the main image. The files under custom/ are taken into account
when performing autosizing.
Also, generalise the sets directory to point to the current machine
architecture, although this can be overwritten from the command line
by anyone making cross-images.
An example to make a user image with an embedded read-only 100 MB
iSCSI target:
% ./mkimage -c custom
=== making a new 272 MB image in usermode.img ===
272+0 records in
272+0 records out
285212672 bytes transferred in 7.616 secs (37449142 bytes/sec)
=== mounting image via vnd vnd0 ===
/dev/rvnd0a: 272.0MB (557056 sectors) block size 8192, fragment size 1024
using 6 cylinder groups of 45.34MB, 5803 blks, 11264 inodes.
super-block backups (for fsck_ffs -b #) at:
32, 92880, 185728, 278576, 371424, 464272,
=== installing sets ===
base
etc
modules
=== performing customisations ===
=== making extra directories ===
=== customising /var/tmp ===
=== user customisations from files in custom ===
Filesystem 1K-blocks Used Avail %Cap Mounted on
/dev/vnd0a 269967 263958 -7489 102% /mnt
% ls -l -R custom
total 8
drwxr-xr-x 3 agc agc 512 Jan 18 03:58 etc
drwxr-xr-x 2 agc agc 512 Jan 18 04:00 iscsi
custom/etc:
total 8
drwxr-xr-x 2 agc agc 512 Jan 18 03:58 iscsi
-rw-r--r-- 1 agc agc 564 Jan 18 03:58 rc.conf
custom/etc/iscsi:
total 6
-r--r--r-- 1 agc agc 799 Jan 18 04:27 targets
custom/iscsi:
total 102484
-rw-r--r-- 1 agc agc 104857600 Jan 18 04:00 iscsi-target0
% sudo vnconfig vnd0 usermode.img
% sudo mount /dev/vnd0a /mnt
% cat /mnt/etc/iscsi/targets
# $NetBSD: targets,v 1.2 2006/02/16 19:30:57 agc Exp $
#
# Structure of this file:
#
# + an extent is a straight (offset, length) pair of a file or device
# it's the lowest common storage denominator
# at least one is needed
# + a device is made up of one or more extents or other devices
# devices can be added in a hierachical manner, to enhance resilience
# + in this example, no device definitions are necessary, as the target
# will just use a simple extent for persistent storage
# + a target is made up of 1 or more devices
# The code does not support RAID1 recovery at present
# Simple file showing 1 extent, mapped straight into 1 target
# extent file or device start length
extent0 /iscsi/iscsi-target0 0 100MB
# target flags storage netmask
target0 ro extent0 0.0.0.0/0
% ls -l /mnt/iscsi/iscsi-target0
-rw-r--r-- 1 agc agc 104857600 Jan 18 04:00 /mnt/iscsi/iscsi-target0
% diff custom/etc/iscsi/targets /mnt/etc/iscsi/targets
%
embedded platform in particular.
+ mkimage will make an autosized image in a file (using vnd) from sets
the resulting image can be mounted read-only, with tmpfs used for volatile
files on top of read-only bases
+ mkpkgs will make an autosized image in a file (using vnd) from binary
packages
+ usermode is an easy way to invoke usermode, making sure that bridging
is set up properly, and that the host syscallemu module is loaded. This
script then runs usermode with two file images (as produced by mkimage
and mkpkgs)
with improved German translations from Martin Husemann and Julian
Djamil Fagir. French, Spanish, and Polish translations are
still needed. OK christos, riz.
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.