Commit graph

4704 commits

Author SHA1 Message Date
Antoine Leca
f4ffbc6072 Make ELF kernel boot faster 2012-02-14 14:52:15 +01:00
Evgeniy Ivanov
c9f65d5ae6 update_bootcfg script
. script to make neat menu entries for all /boot/minix/* dirs
	  in /boot.cfg, read by new bootloader
	. invoked when new images are created
2012-02-14 14:52:14 +01:00
Ben Gras
2fe8fb192f Full switch to clang/ELF. Drop ack. Simplify.
There is important information about booting non-ack images in
docs/UPDATING. ack/aout-format images can't be built any more, and
booting clang/ELF-format ones is a little different. Updating to the
new boot monitor is recommended.

Changes in this commit:

	. drop boot monitor -> allowing dropping ack support
	. facility to copy ELF boot files to /boot so that old boot monitor
	  can still boot fairly easily, see UPDATING
	. no more ack-format libraries -> single-case libraries
	. some cleanup of OBJECT_FMT, COMPILER_TYPE, etc cases
	. drop several ack toolchain commands, but not all support
	  commands (e.g. aal is gone but acksize is not yet).
	. a few libc files moved to netbsd libc dir
	. new /bin/date as minix date used code in libc/
	. test compile fix
	. harmonize includes
	. /usr/lib is no longer special: without ack, /usr/lib plays no
	  kind of special bootstrapping role any more and bootstrapping
	  is done exclusively through packages, so releases depend even
	  less on the state of the machine making them now.
	. rename nbsd_lib* to lib*
	. reduce mtree
2012-02-14 14:52:02 +01:00
Evgeniy Ivanov
2487445f5f make panic() work for multiboot/elf case
. we cannot use the boot monitor to print the system diag buffer
	. for serial, we do nothing, just reset, everything is already printed
	. for not-serial, we print the current diag buffer using direct video
	  memory access from the kernel
2012-02-14 14:48:10 +01:00
Ben Gras
a73c217bf6 clang compile fixes 2012-02-14 14:05:52 +01:00
Ben Gras
f94e915e33 release: fix for rm -rf
. new rm can return failure exit code
2012-02-14 14:05:52 +01:00
Evgeniy Ivanov
f6c5d09978 ELF hardlinks in /boot for compatibility with old boot. 2012-02-14 12:53:34 +01:00
Thomas Veerman
80c4685324 VFS: replace VFS with AVFS 2012-02-13 16:53:21 +00:00
Thomas Veerman
bba63ef665 libmthread: fix typo in comments 2012-02-13 13:50:32 +00:00
Thomas Veerman
accaae9b2c libmthread: add guard pages to stacks
Add guard pages to the top of the stack to catch overflow errors.
Moreover, fix a bug where libmthread would keep using a stack that was
just deallocated; a detached thread would deallocate its own stack after
it was finished running).
2012-02-13 13:50:31 +00:00
Thomas Veerman
0949f5b342 libmthread: don't free() user allocated stack space 2012-02-13 13:50:13 +00:00
David van Moolenbroek
de89517711 libblockdriver: increase stack size to 8KB per thread 2012-02-11 15:16:22 +01:00
Ben Gras
35abd4867a silence makewhatis in daily script 2012-02-10 17:25:48 +01:00
Antoine Leca
f87b9a3d2d sys: move some include dirs
. sys/machine should be sys/arch/i386
2012-02-10 17:02:47 +01:00
Antoine Leca
02b46221dd .gitignore: add another generated directory 2012-02-10 17:02:04 +01:00
Thomas Veerman
0c99f4f4b7 AVFS: reinitialize lookup object before reuse 2012-02-10 09:50:21 +00:00
Antoine Leca
e93c1c9f28 Also clean share/*, including zoneinfo 2012-02-10 00:46:55 +01:00
Evgeniy Ivanov
3ab668c366 Fix shutdown message in setup.sh 2012-02-09 18:54:54 +01:00
Evgeniy Ivanov
1ae162d673 Proper banner for CD. 2012-02-09 18:54:54 +01:00
Evgeniy Ivanov
61a29c4291 Warn users about non NetBSD mbr.
New boot doesn't work with old mbr, when there are multiple MINIX
partitions. Warn user about it and suggest to install new mbr.
2012-02-09 18:54:53 +01:00
Evgeniy Ivanov
6f88dc8713 Support reinstall and new boot. 2012-02-09 18:54:52 +01:00
Evgeniy Ivanov
d4ddfeb2c0 Build both old boot and new boot (for setup). 2012-02-09 18:54:51 +01:00
Evgeniy Ivanov
5a46076652 Build release CD based on new boot.
Also add stuff for usb stick and hdemu.
2012-02-09 18:54:50 +01:00
Antoine Leca
3f2ab5b34b writeisofs: also boots plain binaries with -B
With -n -b file, a.out boot images can be used for CD booting;
with the new -n -B file option, plain binary (like bootxx_cd9660)
can be used instead.
Restore working the -h and -f options while there.
And add a new -F option for 2.8MB floppy image.
2012-02-09 18:54:49 +01:00
Antoine Leca
2ae897db7b writeisofs: improve compatibility
Register file timestamps
Remember the path tables in the primary descriptor
Put the size of the parent directory in the \1 entry, not own size
Allow the use of -b option without -a

Notes:
* Still missing the man page
* Filenames are still trimmed to 12 characters, because of
  8.3 MS-DOS inherited compatibility (ISO9660 level 1);
  also note that 7.4 or 9.2 filenames are accepted though
* Final . at end of filenames without extension is still missing
* VMS-compatible ;1 version suffix is still omitted
* Limit of 65,535 directories in path tables is not checked
2012-02-09 18:54:49 +01:00
Evgeniy Ivanov
13d8a6969a Add new boot to the setup. 2012-02-09 18:54:48 +01:00
Evgeniy Ivanov
68bd32bedb Build ELF for release (chrootmake). 2012-02-09 18:54:47 +01:00
Antoine Leca
7a60d6d33f Switch part/autopart to new mbr bootblock 2012-02-09 18:54:46 +01:00
Ben Gras
636264c1c6 Fixes for loading kernel with multiboot
While parsing command line, only consider "variable=value" to
be part of environment.

Patch by Antoine Leca.
2012-02-09 18:54:45 +01:00
Evgeniy Ivanov
3dd49be938 Allow human readable name for the root device.
Instead of using rootdev= or ramimagedev= in the boot monitor
which are changed to numbers and cannot be used with other
loaders, rootdevname= or ramimagename= are (MINIX-style)
device names always stored as strings.

Patch by Antoine Leca.
2012-02-09 18:54:45 +01:00
Evgeniy Ivanov
8979450631 Rotate kernels/images/modules.
Kernels and system services are stored in a single directory in the
/boot/minix/ and rotated like /boot/images. /boot/minix_latest slink
is created automatically.
System serives are prefixed by "modNN_" to allow to easily load them
using "mod*" pattern.
2012-02-09 18:54:44 +01:00
Evgeniy Ivanov
60a2ce010a Integrate new boot stuff into build scheme.
- Build sys with everything else.
- Gitignore files built by new boot stuff.
2012-02-09 18:54:43 +01:00
Evgeniy Ivanov
7f2d47d84c Remove libkern, leave just header.
Boot stuff dependencies from NetBSD.

Patch by Antoine Leca. Relocated to src/sys.

The port is using the same libminc.a as usual MINIX services (and does
not use NetBSD libkern); the headers imported from NetBSD sys/ tree
have been kept to a minimum (still numbers higher than 30 though.)

Note the peculiar way to use libraries (libsa, libi386, etc.): the
source code is shared, but each component builds its own copy of the
library, with its own set of preprocessor defines.
2012-02-09 18:54:42 +01:00
Evgeniy Ivanov
002fecdd9e Port cdboot. 2012-02-09 18:54:41 +01:00
Evgeniy Ivanov
174e3c15af Import cdboot. 2012-02-09 18:54:40 +01:00
Evgeniy Ivanov
81d26afebe Port MBR.
Patch by Antoine LECA.
2012-02-09 18:54:39 +01:00
Evgeniy Ivanov
6acebc04b6 Import sys/arch/i386/stand/mbr. 2012-02-09 18:54:39 +01:00
Evgeniy Ivanov
fa6c4a2580 Port installboot as installboot_nbsd and rename the old one.
Also following functionality was added:
- Add install_master to the installboot from NetBSD.
- Check if enough space for bootxx.

Old installboot was renamed to installboot_minix.
2012-02-09 18:54:24 +01:00
Evgeniy Ivanov
9f8e6353e5 Import usr.sbin/installboot. 2012-02-09 18:48:13 +01:00
Evgeniy Ivanov
4c4c045f87 Port bootxx. 2012-02-09 18:48:13 +01:00
Evgeniy Ivanov
602233213e Adjust boot from NetBSD.
- Add load_mods command to boot2 (load_mods /dir/mod*).
- Rename resulting binary to boot_monitor.
- Change default banner when used in MINIX.
2012-02-09 18:48:13 +01:00
Evgeniy Ivanov
f119e63750 Fix bug in libsa/ls. 2012-02-09 18:48:13 +01:00
Evgeniy Ivanov
58a2b0008e Initial import of libsa, libkern, bootxx, boot. 2012-02-09 18:48:13 +01:00
Thomas Veerman
972a791882 AVFS/APFS: small cleanup 2012-02-09 16:33:24 +00:00
Thomas Veerman
abd6043a2f AVFS: fix various system call interruption issues
- When cancelling ioctls, VFS did not remember which file descriptor
   to cancel and sent bogus to the driver.
 - Select state was not cleaned up when select()ing process was
   interrupted.
 - Process trying to do a system call at the exact same time as a user
   trying to interrupt the process, could cause the system call worker
   thread to overwrite state belonging to the worker thread trying to
   exit the process. This led to hanging threads and eventual system hang
   when this happens often enough.
2012-02-09 14:24:28 +00:00
Thomas Veerman
4498750810 libchardriver: fix open reply for async devices 2012-02-09 14:17:54 +00:00
Ben Gras
cc1ae59c9b -lminixutil link fixes
. not available and not needed for clang
2012-02-06 16:08:29 +01:00
Evgeniy Ivanov
65f97ea344 Enlarge ramdisk size (blocks). 2012-02-06 16:07:55 +01:00
Tomas Hruby
14fc51e8aa NBSD INCLUDES - fixed missing vm_remap_ro() proto 2012-02-03 20:06:21 +00:00
Ben Gras
1eea0f5680 inet: strncmp() fix 2012-02-03 14:49:18 +01:00