Compare commits

...

10 commits

Author SHA1 Message Date
Sanchayan Maity dda907e345 kernel: main: Add name and IIT CWID to immediate startup message for Project 0 2016-01-28 14:24:53 +05:30
Sanchayan Maity 327ec363db etc/motd: Add name and IIT CWID for Project 0 2016-01-15 09:34:49 +05:30
Lionel Sambuc 8933525b85 Fix default partition in clientctl.
The partition numbering has changed with the new image creation
framework.

Change-Id: I0644e5879913bee067bc31376f81bc5407f4c81f
2015-10-28 16:06:52 +01:00
rlfnb 2d51bc645f Add boot menu entry to boot an ALIX SBC.
closes #95

Change-Id: Ifb49cb8e4730d50d2d6a33fcb5e9f08ac790b512
2015-10-28 14:01:13 +01:00
David van Moolenbroek 2e23f1755e libc: fix needless malloc failures
The NetBSD libc malloc implementation performs its own out-of-memory
check, presumably for performance reasons.  The check makes a strong
assumption about the address space layout, which is that memory-
mapped pages are always located above the heap.  However, this
assumption does not necessarily hold on MINIX3, thus resulting in
malloc reporting an out-of-memory condition without the system
actually being out of memory at all.  Evidence suggests that in
particular dynamically linked (i.e., pkgsrc) binaries were affected
by this issue - most notably git.

Change-Id: If542fbace0a1cce12aa9e075d51992cbbbf26e94
2015-10-28 01:13:04 +00:00
Jean-Baptiste Boric 2d6bbeb0b9 Split minix distribution set
The minix set is now divided into minix-base, minix-comp, minix-games,
minix-kernel, minix-man and minix-tests.

This allows massive space savings on the installlation CD because only
the base system used for installation is stored uncompressed. Also, it
makes the system more modular.

Change-Id: Ic8d168b4c3112204013170f07245aef98aaa51e7
2015-10-12 11:25:54 +02:00
Lionel Sambuc 240e6259de Upgrade releasetools/sort_set
- retire the old shell script
 - import perl script

The perl scripts has the following advantages:
 - The sorting should be more stable, even accross different OSes.
 - The sorted output is automatically formatted into columns
 - It is much faster, even on large inputs.

Change-Id: I1068b21fda981b4cf9eeea4af83165ec2968280b
2015-10-10 23:58:31 +02:00
Jean-Baptiste Boric 69eead77ff New image framework generation
The CD now boots directly from the ISO 9660 filesystem instead of using
MBR partitioning with Minix file systems. This saves some space on the
CD and reduces memory requirements by some unknown amount as the root
ramdisk is completely eliminated.

The x86 hard drive image creation is also rewritten in the same
fashion.

The setup is modified to be more NetBSD-like (unpacking sets
tarballs instead of blindly copying the CD contents). Splitting MINIX
into sets is done in another commit due to it being a nightmare to
rebase.

Since MINIX lacks union mounts for now, a bunch of ramdisks are
generated at run-time to make parts of the filesystem writeable for the
CD. This solution isn't ideal, but it's enough for an installation CD.

Change-Id: Icbd9cca4dafebf7b42c345b107a17679a622d5cd
2015-10-10 19:09:35 +02:00
Lionel Sambuc b5400f9ff4 pkg_install: Set default paths as expected on MINIX
Change-Id: I97568cb5c92d14b7175ba0ed0f3efb2009d0c455
2015-10-09 15:49:42 +02:00
Jean-Baptiste Boric 9dfdf6f7ba ramdisk: fix command output to stdout
Change-Id: I58a8cf2cd05b71dbbc1784c7d5770279392e3a8b
2015-10-08 12:11:03 +02:00
48 changed files with 8380 additions and 7822 deletions

View file

@ -1,4 +1,9 @@
minix-sys Minix Complete system (to be fixed and properly put into separate packages)
minix-base Minix base system
minix-comp Minix compilation tools
minix-games Minix BSD games
minix-kernel Minix kernel and modules
minix-man Minix manuals
minix-tests Minix tests suites
base-adosfs-root Root file system support for Amiga DOS file system support
base-amd-bin auto-mounter daemon
base-amd-examples example configuration files for the auto-mounter daemon and utilities

View file

@ -0,0 +1,50 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
./etc/rc.capes minix-base
./etc/rc.capes/BB-BONE-WTHR-01 minix-base
./etc/system.conf.d/lan8710a minix-base
./etc/system.conf.d/usbd minix-base
./service/bmp085 minix-base
./service/cat24c256 minix-base
./service/fb minix-base
./service/gpio minix-base
./service/i2c minix-base
./service/lan8710a minix-base
./service/random minix-base
./service/sht21 minix-base
./service/tda19988 minix-base
./service/tps65217 minix-base
./service/tps65950 minix-base
./service/tsl2550 minix-base
./service/usbd minix-base
./usr/bin/eepromread minix-base
./usr/lib/libc_vfp.a minix-base obsolete
./usr/lib/libc_vfp.so.0.0 minix-base obsolete
./usr/lib/libc_vfp.so.0 minix-base obsolete
./usr/lib/libc_vfp.so minix-base obsolete
./usr/lib/libc_vfp_pic.a minix-base obsolete
./usr/lib/libclkconf.a minix-base
./usr/lib/libclkconf_pic.a minix-base
./usr/lib/libgcc_eh.a minix-base gcccmds
./usr/lib/libgpio.a minix-base
./usr/lib/libgpio_pic.a minix-base
./usr/lib/libi2cdriver.a minix-base
./usr/lib/libi2cdriver_pic.a minix-base
./usr/man/man1/eepromread.1 minix-base
./usr/mdec minix-base
./usr/share/beaglebone minix-base
./usr/share/beaglebone/weather minix-base
./usr/share/beaglebone/weather/LICENSE minix-base
./usr/share/beaglebone/weather/README.txt minix-base
./usr/share/beaglebone/weather/index.html minix-base
./usr/share/beaglebone/weather/jquery.js minix-base
./usr/share/beaglebone/weather/processing.js minix-base
./usr/share/beaglebone/weather/spin.js minix-base
./usr/share/beaglebone/weather/style.css minix-base
./usr/share/beaglebone/weather/weatherstation.js minix-base
./usr/share/beaglebone/weather/weatherstation.lua minix-base

View file

@ -0,0 +1,70 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
./etc/system.conf.d/3c90x minix-base
./etc/system.conf.d/atl2 minix-base
./etc/system.conf.d/dec21140A minix-base
./etc/system.conf.d/e1000 minix-base
./etc/system.conf.d/fxp minix-base
./etc/system.conf.d/lance minix-base
./etc/system.conf.d/rtl8139 minix-base
./etc/system.conf.d/rtl8169 minix-base
./etc/system.conf.d/virtio_net minix-base
./service/3c90x minix-base
./service/acpi minix-base
./service/ahci minix-base
./service/amddev minix-base
./service/at_wini minix-base
./service/atl2 minix-base
./service/dec21140A minix-base
./service/dp8390 minix-base
./service/dpeth minix-base
./service/e1000 minix-base
./service/es1370 minix-base
./service/es1371 minix-base
./service/fbd minix-base
./service/filter minix-base
./service/floppy minix-base
./service/fxp minix-base
./service/hgfs minix-base
./service/lance minix-base
./service/pci minix-base
./service/pckbd minix-base
./service/printer minix-base
./service/random minix-base
./service/rtl8139 minix-base
./service/rtl8169 minix-base
./service/sb16 minix-base
./service/ti1225 minix-base
./service/vbfs minix-base
./service/vbox minix-base
./service/virtio_blk minix-base
./service/virtio_net minix-base
./usr/lib/libhgfs.a minix-base
./usr/lib/libhgfs_pic.a minix-base
./usr/lib/libm387.a minix-base
./usr/lib/libm387.so minix-base
./usr/lib/libm387.so.0 minix-base
./usr/lib/libm387.so.0.1 minix-base
./usr/lib/libm387_pic.a minix-base
./usr/lib/libvassert.a minix-base
./usr/lib/libvboxfs.a minix-base
./usr/lib/libvboxfs_pic.a minix-base
./usr/lib/libvirtio.a minix-base
./usr/lib/libvirtio_pic.a minix-base
./usr/mdec minix-base
./usr/mdec/boot_monitor minix-base
./usr/mdec/bootxx_cd9660 minix-base
./usr/mdec/bootxx_ext2fs minix-base
./usr/mdec/bootxx_ffsv1 minix-base
./usr/mdec/bootxx_minixfs3 minix-base
./usr/mdec/gptmbr.bin minix-base
./usr/mdec/mbr minix-base
./usr/mdec/mbr_bootsel minix-base
./usr/mdec/mbr_com0 minix-base
./usr/mdec/mbr_com0_9600 minix-base
./usr/mdec/mbr_ext minix-base

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,84 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
./usr/include/arm minix-comp
./usr/include/arm/aeabi.h minix-comp
./usr/include/arm/ansi.h minix-comp
./usr/include/arm/aout_machdep.h minix-comp
./usr/include/arm/archconst.h minix-comp
./usr/include/arm/archtypes.h minix-comp
./usr/include/arm/arm26 minix-comp
./usr/include/arm/arm26/types.h minix-comp
./usr/include/arm/arm32 minix-comp
./usr/include/arm/arm32/frame.h minix-comp
./usr/include/arm/arm32/katelib.h minix-comp
./usr/include/arm/arm32/param.h minix-comp
./usr/include/arm/arm32/pmap.h minix-comp
./usr/include/arm/arm32/psl.h minix-comp
./usr/include/arm/arm32/pte.h minix-comp
./usr/include/arm/arm32/rtc.h minix-comp
./usr/include/arm/arm32/types.h minix-comp
./usr/include/arm/arm32/vmparam.h minix-comp
./usr/include/arm/armreg.h minix-comp
./usr/include/arm/asm.h minix-comp
./usr/include/arm/atomic.h minix-comp
./usr/include/arm/bswap.h minix-comp
./usr/include/arm/byte_swap.h minix-comp
./usr/include/arm/cdefs.h minix-comp
./usr/include/arm/compat_jmp_buf.h minix-comp obsolete
./usr/include/arm/cpu.h minix-comp
./usr/include/arm/cpuconf.h minix-comp
./usr/include/arm/disklabel.h minix-comp
./usr/include/arm/diskparm.h minix-comp
./usr/include/arm/elf.h minix-comp
./usr/include/arm/elf_machdep.h minix-comp
./usr/include/arm/endian.h minix-comp
./usr/include/arm/endian_machdep.h minix-comp
./usr/include/arm/fenv.h minix-comp
./usr/include/arm/float.h minix-comp
./usr/include/arm/frame.h minix-comp
./usr/include/arm/ieee.h minix-comp
./usr/include/arm/ieeefp.h minix-comp
./usr/include/arm/int_const.h minix-comp
./usr/include/arm/int_fmtio.h minix-comp
./usr/include/arm/int_limits.h minix-comp
./usr/include/arm/int_mwgwtypes.h minix-comp
./usr/include/arm/int_types.h minix-comp
./usr/include/arm/interrupt.h minix-comp
./usr/include/arm/ipcconst.h minix-comp
./usr/include/arm/kcore.h minix-comp
./usr/include/arm/limits.h minix-comp
./usr/include/arm/lock.h minix-comp
./usr/include/arm/math.h minix-comp
./usr/include/arm/mcontext.h minix-comp
./usr/include/arm/memory.h minix-comp
./usr/include/arm/multiboot.h minix-comp
./usr/include/arm/mutex.h minix-comp
./usr/include/arm/param.h minix-comp
./usr/include/arm/partition.h minix-comp
./usr/include/arm/pcb.h minix-comp
./usr/include/arm/pmc.h minix-comp
./usr/include/arm/proc.h minix-comp
./usr/include/arm/profile.h minix-comp
./usr/include/arm/ptrace.h minix-comp
./usr/include/arm/reg.h minix-comp
./usr/include/arm/rwlock.h minix-comp
./usr/include/arm/setjmp.h minix-comp
./usr/include/arm/signal.h minix-comp
./usr/include/arm/stackframe.h minix-comp
./usr/include/arm/swi.h minix-comp
./usr/include/arm/sysarch.h minix-comp
./usr/include/arm/trap.h minix-comp
./usr/include/arm/types.h minix-comp
./usr/include/arm/vfpreg.h minix-comp
./usr/include/arm/vm.h minix-comp
./usr/include/arm/vmparam.h minix-comp
./usr/include/arm/wchar_limits.h minix-comp
./usr/include/evbarm minix-comp
./usr/include/evbarm/disklabel.h minix-comp
./usr/include/gcc-4.5/arm_neon.h minix-comp gcccmds
./usr/include/i386 minix-comp

View file

@ -0,0 +1,123 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
./usr/include/gcc-4.5/abmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/ammintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/avxintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/bmmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/cpuid.h minix-comp gcccmds
./usr/include/gcc-4.5/cross-stdarg.h minix-comp gcccmds
./usr/include/gcc-4.5/emmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/fma4intrin.h minix-comp gcccmds
./usr/include/gcc-4.5/ia32intrin.h minix-comp gcccmds
./usr/include/gcc-4.5/immintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/lwpintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/mm3dnow.h minix-comp gcccmds
./usr/include/gcc-4.5/mm_malloc.h minix-comp gcccmds
./usr/include/gcc-4.5/nmmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/pmmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/popcntintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/smmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/tmmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/wmmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/x86intrin.h minix-comp gcccmds
./usr/include/gcc-4.5/xmmintrin.h minix-comp gcccmds
./usr/include/gcc-4.5/xopintrin.h minix-comp gcccmds
./usr/include/i386 minix-comp
./usr/include/i386/ansi.h minix-comp
./usr/include/i386/archconst.h minix-comp
./usr/include/i386/archtypes.h minix-comp
./usr/include/i386/asm.h minix-comp
./usr/include/i386/bios.h minix-comp
./usr/include/i386/bootinfo.h minix-comp
./usr/include/i386/bswap.h minix-comp
./usr/include/i386/byte_swap.h minix-comp
./usr/include/i386/cdefs.h minix-comp
./usr/include/i386/cmos.h minix-comp
./usr/include/i386/compat_jmp_buf.h minix-comp obsolete
./usr/include/i386/cpu.h minix-comp
./usr/include/i386/disklabel.h minix-comp
./usr/include/i386/diskparm.h minix-comp
./usr/include/i386/elf.h minix-comp
./usr/include/i386/elf_machdep.h minix-comp
./usr/include/i386/endian.h minix-comp
./usr/include/i386/endian_machdep.h minix-comp
./usr/include/i386/fenv.h minix-comp
./usr/include/i386/float.h minix-comp
./usr/include/i386/fpu.h minix-comp
./usr/include/i386/frame.h minix-comp
./usr/include/i386/ieee.h minix-comp
./usr/include/i386/ieeefp.h minix-comp
./usr/include/i386/int86.h minix-comp
./usr/include/i386/int_const.h minix-comp
./usr/include/i386/int_fmtio.h minix-comp
./usr/include/i386/int_limits.h minix-comp
./usr/include/i386/int_mwgwtypes.h minix-comp
./usr/include/i386/int_types.h minix-comp
./usr/include/i386/interrupt.h minix-comp
./usr/include/i386/ipcconst.h minix-comp
./usr/include/i386/limits.h minix-comp
./usr/include/i386/lock.h minix-comp
./usr/include/i386/math.h minix-comp
./usr/include/i386/mcontext.h minix-comp
./usr/include/i386/memory.h minix-comp
./usr/include/i386/multiboot.h minix-comp
./usr/include/i386/mutex.h minix-comp
./usr/include/i386/npx.h minix-comp
./usr/include/i386/param.h minix-comp
./usr/include/i386/partition.h minix-comp
./usr/include/i386/pcb.h minix-comp
./usr/include/i386/pci.h minix-comp
./usr/include/i386/pci_amd.h minix-comp
./usr/include/i386/pci_intel.h minix-comp
./usr/include/i386/pci_sis.h minix-comp
./usr/include/i386/pci_via.h minix-comp
./usr/include/i386/pio.h minix-comp
./usr/include/i386/ports.h minix-comp
./usr/include/i386/proc.h minix-comp
./usr/include/i386/profile.h minix-comp
./usr/include/i386/ptrace.h minix-comp
./usr/include/i386/rwlock.h minix-comp
./usr/include/i386/segments.h minix-comp
./usr/include/i386/setjmp.h minix-comp
./usr/include/i386/signal.h minix-comp
./usr/include/i386/stackframe.h minix-comp
./usr/include/i386/sysarch.h minix-comp
./usr/include/i386/trap.h minix-comp
./usr/include/i386/tss.h minix-comp
./usr/include/i386/types.h minix-comp
./usr/include/i386/vm.h minix-comp
./usr/include/i386/vmparam.h minix-comp
./usr/include/i386/wchar_limits.h minix-comp
./usr/include/minix/vassert.h minix-comp
./usr/include/x86 minix-comp
./usr/include/x86/aout_machdep.h minix-comp
./usr/include/x86/bootinfo.h minix-comp
./usr/include/x86/cacheinfo.h minix-comp
./usr/include/x86/cpu.h minix-comp
./usr/include/x86/cpu_ucode.h minix-comp
./usr/include/x86/cputypes.h minix-comp
./usr/include/x86/cpuvar.h minix-comp
./usr/include/x86/float.h minix-comp
./usr/include/x86/ieee.h minix-comp
./usr/include/x86/ieeefp.h minix-comp
./usr/include/x86/intr.h minix-comp
./usr/include/x86/intrdefs.h minix-comp
./usr/include/x86/lock.h minix-comp
./usr/include/x86/math.h minix-comp
./usr/include/x86/mtrr.h minix-comp
./usr/include/x86/mutex.h minix-comp
./usr/include/x86/pio.h minix-comp
./usr/include/x86/pmap.h minix-comp
./usr/include/x86/pmap_pv.h minix-comp
./usr/include/x86/psl.h minix-comp
./usr/include/x86/pte.h minix-comp
./usr/include/x86/rwlock.h minix-comp
./usr/include/x86/specialreg.h minix-comp
./usr/include/x86/sysarch.h minix-comp
./usr/include/x86/trap.h minix-comp
./usr/include/x86/via_padlock.h minix-comp

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,75 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
. minix-games
./etc minix-games
./etc/mtree minix-games
./etc/mtree/set.minix-games minix-games
./usr minix-games
./usr/games minix-games
./usr/games/adventure minix-games
./usr/games/arithmetic minix-games
./usr/games/banner minix-games
./usr/games/bcd minix-games
./usr/games/caesar minix-games
./usr/games/colorbars minix-games
./usr/games/factor minix-games
./usr/games/fish minix-games
./usr/games/fortune minix-games
./usr/games/hide minix-games
./usr/games/monop minix-games
./usr/games/morse minix-games
./usr/games/number minix-games
./usr/games/pig minix-games
./usr/games/ppt minix-games
./usr/games/primes minix-games
./usr/games/rain minix-games
./usr/games/random minix-games
./usr/games/rogue minix-games
./usr/games/rot13 minix-games
./usr/games/snake minix-games
./usr/games/snscore minix-games
./usr/games/strfile minix-games
./usr/games/tetris minix-games
./usr/games/unstr minix-games
./usr/games/wargames minix-games
./usr/share minix-games
./usr/share/games minix-games
./usr/share/games/fish.instr minix-games
./usr/share/games/fortune minix-games
./usr/share/games/fortune/farber minix-games
./usr/share/games/fortune/farber.dat minix-games
./usr/share/games/fortune/fortunes-o minix-games
./usr/share/games/fortune/fortunes-o.dat minix-games
./usr/share/games/fortune/fortunes minix-games
./usr/share/games/fortune/fortunes.dat minix-games
./usr/share/games/fortune/fortunes2-o minix-games
./usr/share/games/fortune/fortunes2-o.dat minix-games
./usr/share/games/fortune/fortunes2 minix-games
./usr/share/games/fortune/fortunes2.dat minix-games
./usr/share/games/fortune/limerick-o minix-games
./usr/share/games/fortune/limerick-o.dat minix-games
./usr/share/games/fortune/limerick minix-games
./usr/share/games/fortune/limerick.dat minix-games
./usr/share/games/fortune/netbsd-o minix-games
./usr/share/games/fortune/netbsd-o.dat minix-games
./usr/share/games/fortune/netbsd-tips minix-games
./usr/share/games/fortune/netbsd-tips.dat minix-games
./usr/share/games/fortune/netbsd minix-games
./usr/share/games/fortune/netbsd.dat minix-games
./usr/share/games/fortune/startrek minix-games
./usr/share/games/fortune/startrek.dat minix-games
./usr/share/games/fortune/unamerican-o minix-games
./usr/share/games/fortune/unamerican-o.dat minix-games
./usr/share/games/fortune/zippy minix-games
./usr/share/games/fortune/zippy.dat minix-games
./var minix-games
./var/db minix-games
./var/db/obsolete minix-games
./var/db/obsolete/minix-games minix-games
./var/games minix-games
./var/games/tetris.scores minix-games

View file

@ -0,0 +1,30 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
. minix-kernel
./boot minix-kernel
./boot/minix minix-kernel
./boot/minix/.temp minix-kernel
./boot/minix/.temp/kernel minix-kernel
./boot/minix/.temp/mod01_ds minix-kernel
./boot/minix/.temp/mod02_rs minix-kernel
./boot/minix/.temp/mod03_pm minix-kernel
./boot/minix/.temp/mod04_sched minix-kernel
./boot/minix/.temp/mod05_vfs minix-kernel
./boot/minix/.temp/mod06_memory minix-kernel
./boot/minix/.temp/mod07_tty minix-kernel
./boot/minix/.temp/mod08_mfs minix-kernel
./boot/minix/.temp/mod09_vm minix-kernel
./boot/minix/.temp/mod10_pfs minix-kernel
./boot/minix/.temp/mod11_init minix-kernel
./etc minix-kernel
./etc/mtree minix-kernel
./etc/mtree/set.minix-kernel minix-kernel
./var minix-kernel
./var/db minix-kernel
./var/db/obsolete minix-kernel
./var/db/obsolete/minix-kernel minix-kernel

View file

@ -0,0 +1,9 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
./usr/man/man8/hgfs.8 minix-man
./usr/man/man8/vbfs.8 minix-man

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
./usr/tests/minix-posix/test47 minix-tests
./usr/tests/minix-posix/test51 minix-tests
./usr/tests/minix-posix/test57 minix-tests
./usr/tests/minix-posix/test62 minix-tests

View file

@ -0,0 +1,346 @@
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
. minix-tests
./etc minix-tests
./etc/atf minix-tests atf
./etc/mtree minix-tests
./etc/mtree/set.minix-tests minix-tests
./usr minix-tests
./usr/bin minix-tests atf,kyua
./usr/bin/atf-config minix-tests atf,!kyua
./usr/bin/atf-report minix-tests atf
./usr/bin/atf-run minix-tests atf
./usr/bin/atf-sh minix-tests atf
./usr/bin/atf-version minix-tests atf,!kyua
./usr/bin/atf2kyua minix-tests kyua
./usr/bin/kyua minix-tests kyua
./usr/lib minix-tests atf,kyua
./usr/lib/bc minix-tests bitcode,atf
./usr/lib/bc/libatf-c++.a minix-tests bitcode,atf
./usr/lib/bc/libatf-c.a minix-tests bitcode,atf
./usr/lib/bc/liblutok.a minix-tests bitcode,atf
./usr/lib/libatf-c++.a minix-tests atf
./usr/lib/libatf-c++.so.0.0 minix-tests atf
./usr/lib/libatf-c++.so.0 minix-tests atf
./usr/lib/libatf-c++.so minix-tests atf
./usr/lib/libatf-c++_pic.a minix-tests atf
./usr/lib/libatf-c.a minix-tests atf
./usr/lib/libatf-c.so.0.0 minix-tests atf
./usr/lib/libatf-c.so.0 minix-tests atf
./usr/lib/libatf-c.so minix-tests atf
./usr/lib/libatf-c_pic.a minix-tests atf
./usr/lib/liblutok.a minix-tests kyua
./usr/lib/liblutok.so.2.0 minix-tests kyua
./usr/lib/liblutok.so.2 minix-tests kyua
./usr/lib/liblutok.so minix-tests kyua
./usr/lib/liblutok_pic.a minix-tests kyua
./usr/lib/pkgconfig minix-tests atf,kyua
./usr/lib/pkgconfig/atf-c++.pc minix-tests atf
./usr/lib/pkgconfig/atf-c.pc minix-tests atf
./usr/lib/pkgconfig/atf-sh.pc minix-tests atf
./usr/lib/pkgconfig/kyua-testers.pc minix-tests kyua
./usr/lib/pkgconfig/lutok.pc minix-tests kyua
./usr/libdata minix-tests atf
./usr/libdata/debug minix-tests atf
./usr/libdata/debug/usr minix-tests atf
./usr/libdata/debug/usr/tests/lib/libpthread/dlopen minix-tests atf
./usr/libexec/atf-check minix-tests atf
./usr/libexec/kyua-atf-tester minix-tests kyua
./usr/libexec/kyua-plain-tester minix-tests kyua
./usr/man minix-tests atf,kyua
./usr/man/man1 minix-tests atf,kyua
./usr/man/man1/atf-check.1 minix-tests atf
./usr/man/man1/atf-config.1 minix-tests atf,!kyua
./usr/man/man1/atf-report.1 minix-tests atf
./usr/man/man1/atf-run.1 minix-tests atf
./usr/man/man1/atf-sh.1 minix-tests atf
./usr/man/man1/atf-test-program.1 minix-tests atf
./usr/man/man1/atf-version.1 minix-tests atf,!kyua
./usr/man/man1/atf2kyua.1 minix-tests kyua
./usr/man/man1/kyua-about.1 minix-tests kyua
./usr/man/man1/kyua-atf-tester.1 minix-tests kyua
./usr/man/man1/kyua-config.1 minix-tests kyua
./usr/man/man1/kyua-db-exec.1 minix-tests kyua
./usr/man/man1/kyua-db-migrate.1 minix-tests kyua
./usr/man/man1/kyua-debug.1 minix-tests kyua
./usr/man/man1/kyua-help.1 minix-tests kyua
./usr/man/man1/kyua-list.1 minix-tests kyua
./usr/man/man1/kyua-plain-tester.1 minix-tests kyua
./usr/man/man1/kyua-report-html.1 minix-tests kyua
./usr/man/man1/kyua-report.1 minix-tests kyua
./usr/man/man1/kyua-test.1 minix-tests kyua
./usr/man/man1/kyua-tester.1 minix-tests kyua
./usr/man/man1/kyua.1 minix-tests kyua
./usr/man/man3 minix-tests atf,kyua
./usr/man/man3/atf-c++-api.3 minix-tests atf
./usr/man/man3/atf-c-api.3 minix-tests atf
./usr/man/man3/atf-sh-api.3 minix-tests atf
./usr/man/man3/pthread_atfork.3 minix-tests
./usr/man/man4 minix-tests atf
./usr/man/man4/atf-test-case.4 minix-tests atf
./usr/man/man5 minix-tests atf,kyua
./usr/man/man5/atf-formats.5 minix-tests atf
./usr/man/man5/kyua-tester-list.5 minix-tests kyua
./usr/man/man5/kyua-tester-result.5 minix-tests kyua
./usr/man/man5/kyua.conf.5 minix-tests kyua
./usr/man/man5/kyuafile.5 minix-tests kyua
./usr/man/man7 minix-tests atf,kyua
./usr/man/man7/atf.7 minix-tests atf
./usr/man/man7/kyua-atf-interface.7 minix-tests kyua
./usr/man/man7/kyua-build-root.7 minix-tests kyua
./usr/man/man7/kyua-plain-interface.7 minix-tests kyua
./usr/man/man7/kyua-test-filters.7 minix-tests kyua
./usr/share minix-tests atf,kyua
./usr/share/atf minix-tests atf
./usr/share/atf/atf-run.hooks minix-tests atf,!kyua
./usr/share/atf/libatf-sh.subr minix-tests atf
./usr/share/doc minix-tests atf,kyua
./usr/share/doc/atf minix-tests atf
./usr/share/doc/atf/AUTHORS minix-tests atf
./usr/share/doc/atf/COPYING minix-tests atf
./usr/share/doc/atf/NEWS minix-tests atf
./usr/share/doc/atf/README minix-tests atf
./usr/share/doc/kyua-atf-compat minix-tests atf
./usr/share/doc/kyua-atf-compat/AUTHORS minix-tests kyua
./usr/share/doc/kyua-atf-compat/COPYING minix-tests kyua
./usr/share/doc/kyua-atf-compat/NEWS minix-tests kyua
./usr/share/doc/kyua-atf-compat/README minix-tests kyua
./usr/share/doc/kyua-cli minix-tests atf
./usr/share/doc/kyua-cli/AUTHORS minix-tests kyua
./usr/share/doc/kyua-cli/COPYING minix-tests kyua
./usr/share/doc/kyua-cli/NEWS minix-tests kyua
./usr/share/doc/kyua-cli/README minix-tests kyua
./usr/share/doc/kyua-testers minix-tests atf
./usr/share/doc/kyua-testers/AUTHORS minix-tests kyua
./usr/share/doc/kyua-testers/COPYING minix-tests kyua
./usr/share/doc/kyua-testers/NEWS minix-tests kyua
./usr/share/doc/kyua-testers/README minix-tests kyua
./usr/share/examples minix-tests atf,kyua
./usr/share/examples/atf minix-tests atf
./usr/share/examples/atf/atf-run.hooks minix-tests atf,!kyua
./usr/share/examples/atf/tests-results.css minix-tests atf,!kyua
./usr/share/examples/kyua-cli minix-tests atf
./usr/share/examples/kyua-cli/Kyuafile.top minix-tests kyua
./usr/share/examples/kyua-cli/kyua.conf minix-tests kyua
./usr/share/examples/lutok minix-tests atf
./usr/share/examples/lutok/bindings.cpp minix-tests kyua
./usr/share/examples/lutok/hello.cpp minix-tests kyua
./usr/share/examples/lutok/interpreter.cpp minix-tests kyua
./usr/share/examples/lutok/raii.cpp minix-tests kyua
./usr/share/kyua-atf-compat minix-tests atf
./usr/share/kyua-atf-compat/lib.subr minix-tests kyua
./usr/share/kyua-atf-compat/tests_lib.subr minix-tests kyua
./usr/share/kyua-cli minix-tests atf
./usr/share/kyua-cli/misc minix-tests atf
./usr/share/kyua-cli/misc/context.html minix-tests kyua
./usr/share/kyua-cli/misc/index.html minix-tests kyua
./usr/share/kyua-cli/misc/report.css minix-tests kyua
./usr/share/kyua-cli/misc/test_result.html minix-tests kyua
./usr/share/kyua-cli/store minix-tests atf
./usr/share/kyua-cli/store/migrate_v1_v2.sql minix-tests kyua
./usr/share/kyua-cli/store/schema_v2.sql minix-tests kyua
./usr/share/xml minix-tests atf
./usr/share/xml/atf minix-tests atf
./usr/share/xml/atf/tests-results.dtd minix-tests atf,!kyua
./usr/share/xsl minix-tests atf
./usr/share/xsl/atf minix-tests atf
./usr/share/xsl/atf/tests-results.xsl minix-tests atf,!kyua
./usr/tests minix-tests
./usr/tests/atf/atf-c++/detail/auto_array_test minix-tests atf
./usr/tests/crypto/Atffile minix-tests crypto
./usr/tests/crypto/Kyuafile minix-tests crypto
./usr/tests/lib minix-tests bitcode
./usr/tests/lib/csu minix-tests bitcode
./usr/tests/lib/csu/bc minix-tests bitcode
./usr/tests/lib/csu/bc/h_initfini3_dso.a minix-tests bitcode,atf
./usr/tests/lib/libc minix-tests bitcode
./usr/tests/lib/libc/stdio/t_mktemp minix-tests atf
./usr/tests/lib/libc/stdio/t_printf minix-tests atf
./usr/tests/lib/libc/tls minix-tests bitcode
./usr/tests/lib/libc/tls/bc minix-tests bitcode
./usr/tests/lib/libc/tls/bc/libh_tls_dynamic.a minix-tests bitcode,atf
./usr/tests/lib/libcurses/director minix-tests atf
./usr/tests/lib/libpthread/dlopen minix-tests atf
./usr/tests/libexec/Atffile minix-tests atf
./usr/tests/minix-posix minix-tests
./usr/tests/minix-posix/blocktest minix-tests
./usr/tests/minix-posix/blocktest/README minix-tests
./usr/tests/minix-posix/blocktest/blocktest minix-tests
./usr/tests/minix-posix/blocktest/support.sh minix-tests
./usr/tests/minix-posix/blocktest/system.conf minix-tests
./usr/tests/minix-posix/blocktest/test.sh minix-tests
./usr/tests/minix-posix/check-install minix-tests
./usr/tests/minix-posix/ddekit minix-tests
./usr/tests/minix-posix/ddekit/ddekittest minix-tests
./usr/tests/minix-posix/ddekit/ddekittest_driver minix-tests
./usr/tests/minix-posix/ddekit/system.conf minix-tests
./usr/tests/minix-posix/mod minix-tests pic
./usr/tests/minix-posix/run minix-tests
./usr/tests/minix-posix/t10a minix-tests
./usr/tests/minix-posix/t11a minix-tests
./usr/tests/minix-posix/t11b minix-tests
./usr/tests/minix-posix/t40a minix-tests
./usr/tests/minix-posix/t40b minix-tests
./usr/tests/minix-posix/t40c minix-tests
./usr/tests/minix-posix/t40d minix-tests
./usr/tests/minix-posix/t40e minix-tests
./usr/tests/minix-posix/t40f minix-tests
./usr/tests/minix-posix/t40g minix-tests
./usr/tests/minix-posix/t60a minix-tests
./usr/tests/minix-posix/t60b minix-tests
./usr/tests/minix-posix/t67a minix-tests
./usr/tests/minix-posix/t67b minix-tests
./usr/tests/minix-posix/t68a minix-tests
./usr/tests/minix-posix/t68b minix-tests
./usr/tests/minix-posix/t84_h_nonexec.sh minix-tests
./usr/tests/minix-posix/t84_h_spawn minix-tests
./usr/tests/minix-posix/t84_h_spawnattr minix-tests
./usr/tests/minix-posix/test1 minix-tests
./usr/tests/minix-posix/test1.c minix-tests
./usr/tests/minix-posix/test10 minix-tests
./usr/tests/minix-posix/test11 minix-tests
./usr/tests/minix-posix/test12 minix-tests
./usr/tests/minix-posix/test13 minix-tests
./usr/tests/minix-posix/test14 minix-tests
./usr/tests/minix-posix/test15 minix-tests
./usr/tests/minix-posix/test16 minix-tests
./usr/tests/minix-posix/test17 minix-tests
./usr/tests/minix-posix/test18 minix-tests
./usr/tests/minix-posix/test19 minix-tests
./usr/tests/minix-posix/test2 minix-tests
./usr/tests/minix-posix/test20 minix-tests
./usr/tests/minix-posix/test21 minix-tests
./usr/tests/minix-posix/test22 minix-tests
./usr/tests/minix-posix/test23 minix-tests
./usr/tests/minix-posix/test24 minix-tests
./usr/tests/minix-posix/test25 minix-tests
./usr/tests/minix-posix/test26 minix-tests
./usr/tests/minix-posix/test27 minix-tests
./usr/tests/minix-posix/test28 minix-tests
./usr/tests/minix-posix/test29 minix-tests
./usr/tests/minix-posix/test3 minix-tests
./usr/tests/minix-posix/test30 minix-tests
./usr/tests/minix-posix/test31 minix-tests
./usr/tests/minix-posix/test32 minix-tests
./usr/tests/minix-posix/test33 minix-tests
./usr/tests/minix-posix/test34 minix-tests
./usr/tests/minix-posix/test35 minix-tests
./usr/tests/minix-posix/test36 minix-tests
./usr/tests/minix-posix/test37 minix-tests
./usr/tests/minix-posix/test38 minix-tests
./usr/tests/minix-posix/test39 minix-tests
./usr/tests/minix-posix/test4 minix-tests
./usr/tests/minix-posix/test40 minix-tests
./usr/tests/minix-posix/test41 minix-tests
./usr/tests/minix-posix/test42 minix-tests
./usr/tests/minix-posix/test43 minix-tests
./usr/tests/minix-posix/test44 minix-tests
./usr/tests/minix-posix/test45 minix-tests
./usr/tests/minix-posix/test46 minix-tests
./usr/tests/minix-posix/test48 minix-tests
./usr/tests/minix-posix/test49 minix-tests
./usr/tests/minix-posix/test5 minix-tests
./usr/tests/minix-posix/test50 minix-tests
./usr/tests/minix-posix/test52 minix-tests
./usr/tests/minix-posix/test53 minix-tests
./usr/tests/minix-posix/test54 minix-tests
./usr/tests/minix-posix/test55 minix-tests
./usr/tests/minix-posix/test56 minix-tests
./usr/tests/minix-posix/test58 minix-tests
./usr/tests/minix-posix/test59 minix-tests
./usr/tests/minix-posix/test6 minix-tests
./usr/tests/minix-posix/test60 minix-tests
./usr/tests/minix-posix/test61 minix-tests
./usr/tests/minix-posix/test63 minix-tests pic
./usr/tests/minix-posix/test64 minix-tests
./usr/tests/minix-posix/test65 minix-tests
./usr/tests/minix-posix/test66 minix-tests
./usr/tests/minix-posix/test67 minix-tests
./usr/tests/minix-posix/test68 minix-tests
./usr/tests/minix-posix/test69 minix-tests
./usr/tests/minix-posix/test7 minix-tests
./usr/tests/minix-posix/test70 minix-tests
./usr/tests/minix-posix/test71 minix-tests
./usr/tests/minix-posix/test72 minix-tests
./usr/tests/minix-posix/test73 minix-tests
./usr/tests/minix-posix/test74 minix-tests
./usr/tests/minix-posix/test75 minix-tests
./usr/tests/minix-posix/test76 minix-tests
./usr/tests/minix-posix/test77 minix-tests
./usr/tests/minix-posix/test78 minix-tests
./usr/tests/minix-posix/test79 minix-tests
./usr/tests/minix-posix/test8 minix-tests
./usr/tests/minix-posix/test80 minix-tests
./usr/tests/minix-posix/test81 minix-tests
./usr/tests/minix-posix/test82 minix-tests
./usr/tests/minix-posix/test83 minix-tests
./usr/tests/minix-posix/test84 minix-tests
./usr/tests/minix-posix/test85 minix-tests
./usr/tests/minix-posix/test86 minix-tests
./usr/tests/minix-posix/test9 minix-tests
./usr/tests/minix-posix/testinterp minix-tests
./usr/tests/minix-posix/testisofs minix-tests
./usr/tests/minix-posix/testkyua minix-tests
./usr/tests/minix-posix/testmfs minix-tests
./usr/tests/minix-posix/testrelpol minix-tests
./usr/tests/minix-posix/testsh1 minix-tests
./usr/tests/minix-posix/testsh2 minix-tests
./usr/tests/minix-posix/testvm minix-tests
./usr/tests/minix-posix/testvm.conf minix-tests
./usr/tests/minix-posix/testvnd minix-tests
./usr/tests/minix-posix/tvnd minix-tests
./usr/tests/usr.bin/jot/Atffile minix-tests atf
./usr/tests/usr.bin/jot/d_basic.out minix-tests atf
./usr/tests/usr.bin/jot/t_jot minix-tests atf
./usr/tests/usr.bin/xlint/Atffile minix-tests atf
./usr/tests/usr.bin/xlint/lint1/Atffile minix-tests atf
./usr/tests/usr.bin/xlint/lint1/Kyuafile minix-tests kyua
./usr/tests/usr.bin/xlint/lint1/d_alignof.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_complex_num.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_decls_after_stmt.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_decls_after_stmt2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_for_loops.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_func.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_recursive_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_struct_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_union_init1.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_union_init2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c99_union_init3.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c9x_array_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_c9x_recursive_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_cast_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_cast_init2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_cast_lhs.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_compound_literals1.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_compound_literals2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_constant_conv1.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_constant_conv2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_cvt_in_ternary.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_ellipsis_in_switch.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_gcc_compound_statements2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_gcc_compound_statements3.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_gcc_func.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_gcc_variable_array_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_incorrect_array_size.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_long_double_int.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_nested_structs.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_nolimit_init.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_packed_structs.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_shift_to_narrower_type.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_type_conv1.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_type_conv2.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_type_conv3.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_typename_as_var.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/d_zero_sized_arrays.c minix-tests atf
./usr/tests/usr.bin/xlint/lint1/t_integration minix-tests atf
./var minix-tests
./var/db minix-tests
./var/db/obsolete minix-tests
./var/db/obsolete/minix-tests minix-tests
./var/db/obsolete/tests minix-tests kyua,atf

View file

@ -1,120 +0,0 @@
./etc/rc.capes minix-sys
./etc/rc.capes/BB-BONE-WTHR-01 minix-sys
./etc/system.conf.d/lan8710a minix-sys
./etc/system.conf.d/usbd minix-sys
./service/bmp085 minix-sys
./service/cat24c256 minix-sys
./service/fb minix-sys
./service/gpio minix-sys
./service/i2c minix-sys
./service/lan8710a minix-sys
./service/random minix-sys
./service/sht21 minix-sys
./service/tda19988 minix-sys
./service/tps65217 minix-sys
./service/tps65950 minix-sys
./service/tsl2550 minix-sys
./service/usbd minix-sys
./usr/bin/eepromread minix-sys
./usr/include/arm minix-sys
./usr/include/arm/aeabi.h minix-sys
./usr/include/arm/ansi.h minix-sys
./usr/include/arm/aout_machdep.h minix-sys
./usr/include/arm/archconst.h minix-sys
./usr/include/arm/archtypes.h minix-sys
./usr/include/arm/arm26 minix-sys
./usr/include/arm/arm26/types.h minix-sys
./usr/include/arm/arm32 minix-sys
./usr/include/arm/arm32/frame.h minix-sys
./usr/include/arm/arm32/katelib.h minix-sys
./usr/include/arm/arm32/param.h minix-sys
./usr/include/arm/arm32/pmap.h minix-sys
./usr/include/arm/arm32/psl.h minix-sys
./usr/include/arm/arm32/pte.h minix-sys
./usr/include/arm/arm32/rtc.h minix-sys
./usr/include/arm/arm32/types.h minix-sys
./usr/include/arm/arm32/vmparam.h minix-sys
./usr/include/arm/armreg.h minix-sys
./usr/include/arm/asm.h minix-sys
./usr/include/arm/atomic.h minix-sys
./usr/include/arm/bswap.h minix-sys
./usr/include/arm/byte_swap.h minix-sys
./usr/include/arm/cdefs.h minix-sys
./usr/include/arm/compat_jmp_buf.h minix-sys obsolete
./usr/include/arm/cpuconf.h minix-sys
./usr/include/arm/cpu.h minix-sys
./usr/include/arm/disklabel.h minix-sys
./usr/include/arm/diskparm.h minix-sys
./usr/include/arm/elf.h minix-sys
./usr/include/arm/elf_machdep.h minix-sys
./usr/include/arm/endian.h minix-sys
./usr/include/arm/endian_machdep.h minix-sys
./usr/include/arm/fenv.h minix-sys
./usr/include/arm/float.h minix-sys
./usr/include/arm/frame.h minix-sys
./usr/include/arm/ieeefp.h minix-sys
./usr/include/arm/ieee.h minix-sys
./usr/include/arm/int_const.h minix-sys
./usr/include/arm/interrupt.h minix-sys
./usr/include/arm/int_fmtio.h minix-sys
./usr/include/arm/int_limits.h minix-sys
./usr/include/arm/int_mwgwtypes.h minix-sys
./usr/include/arm/int_types.h minix-sys
./usr/include/arm/ipcconst.h minix-sys
./usr/include/arm/kcore.h minix-sys
./usr/include/arm/limits.h minix-sys
./usr/include/arm/lock.h minix-sys
./usr/include/arm/math.h minix-sys
./usr/include/arm/mcontext.h minix-sys
./usr/include/arm/memory.h minix-sys
./usr/include/arm/multiboot.h minix-sys
./usr/include/arm/mutex.h minix-sys
./usr/include/arm/param.h minix-sys
./usr/include/arm/partition.h minix-sys
./usr/include/arm/pcb.h minix-sys
./usr/include/arm/pmc.h minix-sys
./usr/include/arm/proc.h minix-sys
./usr/include/arm/profile.h minix-sys
./usr/include/arm/ptrace.h minix-sys
./usr/include/arm/reg.h minix-sys
./usr/include/arm/rwlock.h minix-sys
./usr/include/arm/setjmp.h minix-sys
./usr/include/arm/signal.h minix-sys
./usr/include/arm/stackframe.h minix-sys
./usr/include/arm/swi.h minix-sys
./usr/include/arm/sysarch.h minix-sys
./usr/include/arm/trap.h minix-sys
./usr/include/arm/types.h minix-sys
./usr/include/arm/vfpreg.h minix-sys
./usr/include/arm/vm.h minix-sys
./usr/include/arm/vmparam.h minix-sys
./usr/include/arm/wchar_limits.h minix-sys
./usr/include/evbarm minix-sys
./usr/include/evbarm/disklabel.h minix-sys
./usr/include/gcc-4.5/arm_neon.h minix-sys gcccmds
./usr/include/i386 minix-sys
./usr/lib/libclkconf.a minix-sys
./usr/lib/libclkconf_pic.a minix-sys
./usr/lib/libc_vfp.a minix-sys obsolete
./usr/lib/libc_vfp_pic.a minix-sys obsolete
./usr/lib/libc_vfp.so.0.0 minix-sys obsolete
./usr/lib/libc_vfp.so.0 minix-sys obsolete
./usr/lib/libc_vfp.so minix-sys obsolete
./usr/lib/libgcc_eh.a minix-sys gcccmds
./usr/lib/libgpio.a minix-sys
./usr/lib/libgpio_pic.a minix-sys
./usr/lib/libi2cdriver.a minix-sys
./usr/lib/libi2cdriver_pic.a minix-sys
./usr/man/man1/eepromread.1 minix-sys
./usr/mdec minix-sys
./usr/share/beaglebone minix-sys
./usr/share/beaglebone/weather minix-sys
./usr/share/beaglebone/weather/index.html minix-sys
./usr/share/beaglebone/weather/jquery.js minix-sys
./usr/share/beaglebone/weather/LICENSE minix-sys
./usr/share/beaglebone/weather/processing.js minix-sys
./usr/share/beaglebone/weather/README.txt minix-sys
./usr/share/beaglebone/weather/spin.js minix-sys
./usr/share/beaglebone/weather/style.css minix-sys
./usr/share/beaglebone/weather/weatherstation.js minix-sys
./usr/share/beaglebone/weather/weatherstation.lua minix-sys

View file

@ -1,186 +0,0 @@
./etc/system.conf.d/3c90x minix-sys
./etc/system.conf.d/atl2 minix-sys
./etc/system.conf.d/dec21140A minix-sys
./etc/system.conf.d/e1000 minix-sys
./etc/system.conf.d/fxp minix-sys
./etc/system.conf.d/lance minix-sys
./etc/system.conf.d/rtl8139 minix-sys
./etc/system.conf.d/rtl8169 minix-sys
./etc/system.conf.d/virtio_net minix-sys
./service/3c90x minix-sys
./service/acpi minix-sys
./service/ahci minix-sys
./service/amddev minix-sys
./service/atl2 minix-sys
./service/at_wini minix-sys
./service/dec21140A minix-sys
./service/dp8390 minix-sys
./service/dpeth minix-sys
./service/e1000 minix-sys
./service/es1370 minix-sys
./service/es1371 minix-sys
./service/fbd minix-sys
./service/filter minix-sys
./service/floppy minix-sys
./service/fxp minix-sys
./service/hgfs minix-sys
./service/lance minix-sys
./service/orinoco minix-sys obsolete
./service/pci minix-sys
./service/pckbd minix-sys
./service/printer minix-sys
./service/random minix-sys
./service/rtl8139 minix-sys
./service/rtl8169 minix-sys
./service/sb16 minix-sys
./service/ti1225 minix-sys
./service/vbfs minix-sys
./service/vbox minix-sys
./service/virtio_blk minix-sys
./service/virtio_net minix-sys
./usr/include/gcc-4.5/abmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/ammintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/avxintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/bmmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/cpuid.h minix-sys gcccmds
./usr/include/gcc-4.5/cross-stdarg.h minix-sys gcccmds
./usr/include/gcc-4.5/emmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/fma4intrin.h minix-sys gcccmds
./usr/include/gcc-4.5/ia32intrin.h minix-sys gcccmds
./usr/include/gcc-4.5/immintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/lwpintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/mm3dnow.h minix-sys gcccmds
./usr/include/gcc-4.5/mm_malloc.h minix-sys gcccmds
./usr/include/gcc-4.5/nmmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/pmmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/popcntintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/smmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/tmmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/wmmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/x86intrin.h minix-sys gcccmds
./usr/include/gcc-4.5/xmmintrin.h minix-sys gcccmds
./usr/include/gcc-4.5/xopintrin.h minix-sys gcccmds
./usr/include/i386 minix-sys
./usr/include/i386/ansi.h minix-sys
./usr/include/i386/archconst.h minix-sys
./usr/include/i386/archtypes.h minix-sys
./usr/include/i386/asm.h minix-sys
./usr/include/i386/bios.h minix-sys
./usr/include/i386/bootinfo.h minix-sys
./usr/include/i386/bswap.h minix-sys
./usr/include/i386/byte_swap.h minix-sys
./usr/include/i386/cdefs.h minix-sys
./usr/include/i386/cmos.h minix-sys
./usr/include/i386/compat_jmp_buf.h minix-sys obsolete
./usr/include/i386/cpu.h minix-sys
./usr/include/i386/disklabel.h minix-sys
./usr/include/i386/diskparm.h minix-sys
./usr/include/i386/elf.h minix-sys
./usr/include/i386/elf_machdep.h minix-sys
./usr/include/i386/endian.h minix-sys
./usr/include/i386/endian_machdep.h minix-sys
./usr/include/i386/fenv.h minix-sys
./usr/include/i386/float.h minix-sys
./usr/include/i386/fpu.h minix-sys
./usr/include/i386/frame.h minix-sys
./usr/include/i386/ieeefp.h minix-sys
./usr/include/i386/ieee.h minix-sys
./usr/include/i386/int86.h minix-sys
./usr/include/i386/int_const.h minix-sys
./usr/include/i386/interrupt.h minix-sys
./usr/include/i386/int_fmtio.h minix-sys
./usr/include/i386/int_limits.h minix-sys
./usr/include/i386/int_mwgwtypes.h minix-sys
./usr/include/i386/int_types.h minix-sys
./usr/include/i386/ipcconst.h minix-sys
./usr/include/i386/limits.h minix-sys
./usr/include/i386/lock.h minix-sys
./usr/include/i386/math.h minix-sys
./usr/include/i386/mcontext.h minix-sys
./usr/include/i386/memory.h minix-sys
./usr/include/i386/multiboot.h minix-sys
./usr/include/i386/mutex.h minix-sys
./usr/include/i386/npx.h minix-sys
./usr/include/i386/param.h minix-sys
./usr/include/i386/partition.h minix-sys
./usr/include/i386/pcb.h minix-sys
./usr/include/i386/pci_amd.h minix-sys
./usr/include/i386/pci.h minix-sys
./usr/include/i386/pci_intel.h minix-sys
./usr/include/i386/pci_sis.h minix-sys
./usr/include/i386/pci_via.h minix-sys
./usr/include/i386/pio.h minix-sys
./usr/include/i386/ports.h minix-sys
./usr/include/i386/proc.h minix-sys
./usr/include/i386/profile.h minix-sys
./usr/include/i386/ptrace.h minix-sys
./usr/include/i386/rwlock.h minix-sys
./usr/include/i386/segments.h minix-sys
./usr/include/i386/setjmp.h minix-sys
./usr/include/i386/signal.h minix-sys
./usr/include/i386/stackframe.h minix-sys
./usr/include/i386/sysarch.h minix-sys
./usr/include/i386/trap.h minix-sys
./usr/include/i386/tss.h minix-sys
./usr/include/i386/types.h minix-sys
./usr/include/i386/vm.h minix-sys
./usr/include/i386/vmparam.h minix-sys
./usr/include/i386/wchar_limits.h minix-sys
./usr/include/minix/vassert.h minix-sys
./usr/include/x86 minix-sys
./usr/include/x86/aout_machdep.h minix-sys
./usr/include/x86/bootinfo.h minix-sys
./usr/include/x86/cacheinfo.h minix-sys
./usr/include/x86/cpu.h minix-sys
./usr/include/x86/cputypes.h minix-sys
./usr/include/x86/cpu_ucode.h minix-sys
./usr/include/x86/cpuvar.h minix-sys
./usr/include/x86/float.h minix-sys
./usr/include/x86/ieeefp.h minix-sys
./usr/include/x86/ieee.h minix-sys
./usr/include/x86/intrdefs.h minix-sys
./usr/include/x86/intr.h minix-sys
./usr/include/x86/lock.h minix-sys
./usr/include/x86/math.h minix-sys
./usr/include/x86/mtrr.h minix-sys
./usr/include/x86/mutex.h minix-sys
./usr/include/x86/pio.h minix-sys
./usr/include/x86/pmap.h minix-sys
./usr/include/x86/pmap_pv.h minix-sys
./usr/include/x86/psl.h minix-sys
./usr/include/x86/pte.h minix-sys
./usr/include/x86/rwlock.h minix-sys
./usr/include/x86/specialreg.h minix-sys
./usr/include/x86/sysarch.h minix-sys
./usr/include/x86/trap.h minix-sys
./usr/include/x86/via_padlock.h minix-sys
./usr/lib/libhgfs.a minix-sys
./usr/lib/libhgfs_pic.a minix-sys
./usr/lib/libm387.a minix-sys
./usr/lib/libm387_pic.a minix-sys
./usr/lib/libm387.so.0 minix-sys
./usr/lib/libm387.so.0.1 minix-sys
./usr/lib/libm387.so minix-sys
./usr/lib/libvassert.a minix-sys
./usr/lib/libvboxfs.a minix-sys
./usr/lib/libvboxfs_pic.a minix-sys
./usr/lib/libvirtio.a minix-sys
./usr/lib/libvirtio_pic.a minix-sys
./usr/mdec minix-sys
./usr/man/man8/hgfs.8 minix-sys
./usr/man/man8/vbfs.8 minix-sys
./usr/mdec/boot_monitor minix-sys
./usr/mdec/bootxx_cd9660 minix-sys
./usr/mdec/bootxx_ext2fs minix-sys
./usr/mdec/bootxx_ffsv1 minix-sys
./usr/mdec/bootxx_minixfs3 minix-sys
./usr/mdec/gptmbr.bin minix-sys
./usr/mdec/mbr minix-sys
./usr/mdec/mbr_bootsel minix-sys
./usr/mdec/mbr_com0 minix-sys
./usr/mdec/mbr_com0_9600 minix-sys
./usr/mdec/mbr_ext minix-sys
./usr/tests/minix-posix/test47 minix-sys
./usr/tests/minix-posix/test51 minix-sys
./usr/tests/minix-posix/test57 minix-sys
./usr/tests/minix-posix/test62 minix-sys

File diff suppressed because it is too large Load diff

View file

@ -13,7 +13,7 @@
# stlib static library format (a.out, elf)
#
# The following <bsd.own.mk> variables are exported to the environment:
# MACHINE
# MACHINE
# MACHINE_ARCH
# MACHINE_CPU
# HAVE_BINUTILS
@ -163,7 +163,7 @@ if [ "${MKPIC}" = "no" ]; then
shlib=no
fi
# LSC for Minix
nlists="minix $testset"
nlists="minix-base minix-comp minix-games minix-kernel minix-man minix-tests $testset"
#nlists="base comp $debugset etc games man misc $modset $testset text"
xlists="xbase xcomp $xdebugset xetc xfont xserver"
extlists="extbase extcomp extetc"
@ -176,7 +176,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g"
#
# list_set_files setfile [...]
#
#
# Produce a packing list for setfile(s).
# In each file, a record consists of a path and a System Package name,
# separated by whitespace. E.g.,
@ -198,7 +198,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g"
# control if a record is printed; every keyword listed must be enabled
# for the record to be printed. The following keywords are available:
# dummy dummy entry (ignored)
# obsolete file is obsolete, and only printed if
# obsolete file is obsolete, and only printed if
# ${obsolete} != 0
#
# atf ${MKATF} != no
@ -293,7 +293,7 @@ list_set_files()
BEGIN {
if (obsolete)
wanted["obsolete"] = 1
split("'"${MKVARS}"'", needvars)
for (vi in needvars) {
nv = needvars[vi]
@ -302,7 +302,7 @@ list_set_files()
sub(/^have_/, "", kw)
sub(/^target_endianness/, "endian", kw)
if (nv != "HAVE_GCC" && ENVIRON[nv] != "no")
wanted[kw] = 1
wanted[kw] = 1
}
if ("'"${TOOLCHAIN_MISSING}"'" != "yes") {
@ -330,7 +330,7 @@ list_set_files()
delete list [substr($1, 2)];
next;
}
NF > 2 && $3 != "-" {
if (notwanted[$1] != "")
@ -378,7 +378,7 @@ list_set_files()
#
# list_set_lists setname
#
#
# Print to stdout a list of files, one filename per line, which
# concatenate to create the packing list for setname. E.g.,
#

View file

@ -472,7 +472,7 @@ OBSOLETE.dir= ${.OBJDIR}/obsolete.dir
.if !defined(__MINIX)
OBSOLETE.files= base comp etc games man misc text
.else
OBSOLETE.files= minix
OBSOLETE.files= minix-base minix-comp minix-games minix-kernel minix-man minix-tests
.endif # !defined(__MINIX)
.if ${MKDEBUG} != "no"
OBSOLETE.files+= debug

View file

@ -7,3 +7,4 @@ http://wiki.minix3.org
We'd like your feedback: http://minix3.org/community/
Welcome Sanchayan Maity. IIT CWID: A20340174

49
etc/rc
View file

@ -1,5 +1,8 @@
# /etc/rc - System startup script run by init before going multiuser.
# Are we booting from CD?
bootcd="`/bin/sysenv bootcd`"
exec >/dev/log
exec 2>/dev/log
exec </dev/null
@ -64,7 +67,7 @@ edit()
if [ ! -x $binlocation ]
then binlocation=/sbin/$service
fi
service $opt edit $binlocation -label $service "$@"
service $opt edit $binlocation -label $service "$@"
}
while getopts 'saf' opt
@ -87,6 +90,11 @@ esac
case $action in
autoboot|start)
# If booting from CD, we want some directories to be ramdisks
if [ ! -z "$bootcd" ]
then
. /etc/rc.cd
fi
# National keyboard?
test -f /etc/keymap && loadkeys /etc/keymap
@ -106,7 +114,8 @@ autoboot|start)
# Set timezone.
export TZ=GMT0
if [ -f "$RC_TZ" ]
then . "$RC_TZ"
then
. "$RC_TZ"
fi
# Start real time clock driver & set system time, otherwise default date.
@ -114,11 +123,10 @@ autoboot|start)
readclock -q || date 201301010000
# We are not shutting down.
rm -f /etc/nologin
# Initialize files.
>/var/run/utmp # /etc/utmp keeps track of logins
>/var/run/utmpx # /etc/utmpx keeps track of logins
if [ -f /etc/nologin ]
then
rm -f /etc/nologin
fi
# Use MFS binary only from kernel image?
if [ "`sysenv bin_img`" = 1 ]
@ -126,25 +134,18 @@ autoboot|start)
bin_img="-i "
fi
# Are we booting from CD?
bootcd="`/bin/sysenv bootcd`"
# If booting from CD, mounting is a special case.
# We know what to do - only /usr is mounted and it's readonly.
if [ "$bootcd" = 1 ]
then usrdev="$cddev"p2
echo "/usr on cd is $usrdev"
mount -r $usrdev /usr
else
# If we're not booting from CD, fsck + mount using /etc/fstab.
fsck -x / $fflag $fsckopts
mount -a
fi
# fsck + mount using /etc/fstab.
fsck -x / $fflag $fsckopts
mount -a
# Unmount and free now defunct ramdisk
umount /dev/imgrd > /dev/null || echo "Failed to unmount boot ramdisk"
ramdisk 0 /dev/imgrd || echo "Failed to free boot ramdisk"
# Initialize files.
>/var/run/utmp # /etc/utmp keeps track of logins
>/var/run/utmpx # /etc/utmpx keeps track of logins
# Edit settings for boot system services
if [ "`sysenv skip_boot_config`" != 1 ]
then
@ -197,18 +198,18 @@ down|stop)
if [ -f /var/run/devmand.pid ]
then
kill -INT `cat /var/run/devmand.pid`
# without this delay the following will
# without this delay the following will
# be printed in the console
# RS: devman not running?
sleep 1
fi
#
# usbd needs to be stopped exactly
# usbd needs to be stopped exactly
# at this stage(before stopping devman
# and after stopping the services
# stated by devmand)
if [ -x /usr/pkg/etc/rc.d/usbd ]
then
then
/usr/pkg/etc/rc.d/usbd stop
fi

View file

@ -2,3 +2,30 @@
# CD boottime initializations.
echo -n "Creating ramdisks:"
# Set up a ramdisk to make a read-only part of the directory tree writable
# $1 : ramdisk dev node to use
# $2 : path to make writeable
# $3 : ramdisk size in blocks
create_ramdisk()
{
echo -n " $2"
ramdisk $3 /dev/$1 > /dev/null
mkfs.mfs /dev/$1 > /dev/null
# copy files
mount /dev/$1 /mnt > /dev/null
(cd $2 && pax -rw . /mnt)
umount /mnt > /dev/null
mount /dev/$1 $2 > /dev/null
}
# Create /var ramdisk
create_ramdisk ram0 /var 256
create_ramdisk ram1 /tmp 128
create_ramdisk ram2 /usr/run 64
create_ramdisk ram3 /root 512
echo

View file

@ -3,7 +3,7 @@
# daily - daily cleanup of the system.
# Doesn't make sense when running from CD
if [ -f /CD ]
if [ ! -z $(sysenv bootcd) ]
then exit
fi
@ -50,8 +50,8 @@ cycle()
fi
}
cycle 100 wtmp
cycle 100 log
cycle 100 wtmp
cycle 100 log
cycle 20 ftplog
cycle 200 aftplog

View file

@ -178,6 +178,11 @@ start|autoboot)
cat < $RANDOM_FILE >/dev/random
# overwrite $RANDOM_FILE. We don't want to use this data again
dd if=/dev/random of=$RANDOM_FILE bs=1024 count=1 2> /dev/null
else
# We couldn't find the old state to restart from, so use a binary
# file and the current date instead, even if this is less than ideal.
cat /bin/sh >> /dev/urandom
date >> /dev/urandom
fi
# start network driver instances for all configured ethernet devices

View file

@ -7,7 +7,12 @@ USE_FORT?=yes # network client
CPPFLAGS+=-I${DIST}/lib
CPPFLAGS+=-I${NETBSDSRCDIR}/external/bsd/pkg_install/lib
CPPFLAGS+=-DHAVE_CONFIG_H -DNETBSD -DHAVE_SSL
.if !defined(__MINIX)
CPPFLAGS+=-DSYSCONFDIR='"/etc"'
.else
CPPFLAGS+=-DSYSCONFDIR='"/usr/pkg/etc"'
CPPFLAGS+=-DDEF_LOG_DIR='"/usr/pkg/var/db/pkg"'
.endif # !defined(__MINIX)
WARNS= 4
CWARNFLAGS+= -Wno-missing-noreturn

View file

@ -818,8 +818,10 @@ imalloc(size_t size)
if ((size + malloc_pagesize) < size) /* Check for overflow */
result = NULL;
#ifndef __minix
else if ((size + malloc_pagesize) >= (uintptr_t)page_dir)
result = NULL;
#endif /* !__minix */
else if (size <= malloc_maxsize)
result = malloc_bytes(size);
else

View file

@ -1,4 +1,5 @@
/* This file contains some code to guess where we have to load the
/*
* This file contains some code to guess where we have to load the
* RAM image device from, if started from CD. (In this case it's hard
* to tell where this is without diving into BIOS heuristics.)
*
@ -8,6 +9,7 @@
* Changes:
* Jul 14, 2005 Created (Ben Gras)
* Feb 10, 2006 Changed into a standalone program (Philip Homburg)
* May 25, 2015 Installation CD overhaul (Jean-Baptiste Boric)
*/
#define CD_SECTOR 2048
@ -22,119 +24,55 @@
#include <string.h>
#include <unistd.h>
#include "mfs/const.h"
char pvd[CD_SECTOR];
/*===========================================================================*
* cdprobe *
*===========================================================================*/
int main(void)
{
int controller, disk, r, fd, minor, found;
const int probelist[AT_MINORS] = { 2, 3, 1, 0, 6, 7, 5, 4 };
int controller, disk, r, fd;
off_t pos;
u16_t *magicp;
char name1[]= "/dev/c0dX";
char name2[]= "/dev/c0dXpY";
int probelist[AT_MINORS] = { 2, 3, 1, 0, 6, 7, 5, 4 };
char name[] = "/dev/c0dX";
char pvd[CD_SECTOR];
found= 0;
for(controller = 0; controller <= 1; controller++) {
name1[6] = '0' + controller;
name2[6] = '0' + controller;
for(disk = 0; disk < AT_MINORS; disk++) {
name1[8]= '0' + probelist[disk];
name[6] = '0' + controller;
for(disk = 0; disk < AT_MINORS; disk++) {
name[8]= '0' + probelist[disk];
fprintf(stderr, "Trying %s \r", name1);
fflush(stderr);
fprintf(stderr, "Trying %s \r", name);
fflush(stderr);
fd = open(name1, O_RDONLY);
if (fd < 0)
{
if (errno != ENXIO)
{
fd = open(name, O_RDONLY);
if ((fd < 0) && (errno != ENXIO)) {
fprintf(stderr, "open '%s' failed: %s\n",
name1, strerror(errno));
name, strerror(errno));
continue;
}
continue;
}
pos= lseek(fd, 16*CD_SECTOR, SEEK_SET);
if (pos != 16*CD_SECTOR)
{
/* Strange, do we need to issue a warning? */
close(fd);
continue;
}
r = read(fd, pvd, sizeof(pvd));
if (r != sizeof(pvd))
{
fprintf(stderr,
"error reading CD label from '%s': %s\n",
name1, strerror(errno));
close(fd);
continue;
}
close(fd);
/* Check PVD ID. */
if (pvd[0] != 1 || pvd[1] != 'C' || pvd[2] != 'D' ||
pvd[3] != '0' || pvd[4] != '0' || pvd[5] != '1' ||
pvd[6] != 1 ||
strncmp(pvd + 40, "MINIX", 5) != 0) {
continue;
}
/* 3. Both cXdYp1 and p2 should have a superblock. */
found= 1; /* Assume everything is okay */
for (minor = 1; minor <= 2; minor++) {
name2[8]= '0' + probelist[disk];
name2[10]= '0' + minor;
fd = open(name2, O_RDONLY);
if (fd < 0)
{
if (errno != ENXIO)
{
fprintf(stderr,
"open '%s' failed: %s\n",
name2, strerror(errno));
}
found= 0;
break;
/* Try to read PVD. */
pos = lseek(fd, 16*CD_SECTOR, SEEK_SET);
if (pos != 16*CD_SECTOR) {
close(fd);
continue;
}
r = read(fd, pvd, sizeof(pvd));
if (r != sizeof(pvd))
{
fprintf(stderr,
"error reading super block from '%s': %s\n",
name2, strerror(errno));
close(fd);
found= 0;
break;
}
close(fd);
magicp= (u16_t *)&pvd[SUPER_OFF+MAGIC_OFF];
if (*magicp != SUPER_V3)
{
fprintf(stderr, "bad super block on %s\n",
name2);
found= 0;
break;
if (r != sizeof(pvd)) {
continue;
}
/* Check PVD ID. */
if (pvd[0] != 1 || pvd[1] != 'C' || pvd[2] != 'D' ||
pvd[3] != '0' || pvd[4] != '0' || pvd[5] != '1' ||
pvd[6] != 1 ||
strncmp(pvd + 40, "MINIX", 5) != 0) {
continue;
}
}
if (found)
{
fprintf(stderr, "\nFound.\n");
printf("%s\n", name1);
exit(0);
printf("%s\n", name);
return 0;
}
}
}
fprintf(stderr, "\nNot found.\n");
fprintf(stderr, "\nNot found.\n");
return 1;
}

View file

@ -70,12 +70,13 @@ char *argv[];
v = fsversion(device, "mount");
switch (v) {
case FSVERSION_MFS1:
case FSVERSION_MFS2:
case FSVERSION_MFS3: type = MINIX_FS_TYPE; break;
case FSVERSION_MFS2:
case FSVERSION_MFS3: type = MINIX_FS_TYPE; break;
case FSVERSION_EXT2: type = "ext2"; break;
case FSVERSION_ISO9660: type = "isofs"; break;
}
}
if (minix_mount(device, argv[2], mountflags, srvflags, type, args) < 0) {
err = strerror(errno);
fprintf(stderr, "mount: Can't mount %s on %s: %s\n",
@ -146,11 +147,11 @@ mount_all()
}
device = fs->fs_spec;
/* passing a null string for block special device means don't
* use a device at all and this is what we need to do for
/* passing a null string for block special device means don't
* use a device at all and this is what we need to do for
* entries starting with "none"
*/
if (!strcmp(device, "none"))
if (!strcmp(device, "none"))
device = NULL;
if (minix_mount(device, mountpoint, mountflags, 0, fs->fs_vfstype,

View file

@ -38,7 +38,7 @@ main(int argc, char *argv[])
return 1;
}
fprintf(stderr, "size on %s set to %ldkB\n", d, size/KFACTOR);
fprintf(stdout, "size on %s set to %ldkB\n", d, size/KFACTOR);
return 0;
}

View file

@ -15,8 +15,7 @@ ROOTSECTS="`expr $ROOTMB '*' 1024 '*' 2`"
BOOTXXSECTS=32
USRKB="`du -sxk /usr | awk '{ print $1 }'`"
TOTALMB="`expr 3 + $USRKB / 1024 + $ROOTMB`"
ROOTFILES="`find -x / | wc -l`"
USRFILES="`find -x /usr | wc -l`"
TOTALFILES="`find -x / | wc -l`"
# /usr/install isn't copied onto the new system; compensate
INSTALLDIR=/usr/install
@ -691,26 +690,36 @@ echo ""
echo "All files will now be copied to your hard disk. This may take a while."
echo ""
mount /dev/$usr /mnt >/dev/null || exit # Mount the intended /usr.
(cd /usr || exit 1
list="`ls | fgrep -v install`"
pax -rw -pe -v $list /mnt 2>&1
) | progressbar "$USRFILES" || exit # Copy the usr floppy.
umount /dev/$usr >/dev/null || exit # Unmount the intended /usr.
mount /dev/$root /mnt >/dev/null || exit
mkdir -p /mnt/usr
mount /dev/$usr /mnt/usr >/dev/null || exit # Mount the intended /usr.
if [ "$nohome" = 0 ]; then
mkdir -p /mnt/home
mount /dev/$home /mnt/home >/dev/null || exit # Mount the intended /home
fi
# Running from the installation CD.
pax -rw -pe -vX / /mnt 2>&1 | progressbar "$ROOTFILES" || exit
chmod o-w /mnt/usr
for set in /i386/binary/sets/*.tgz; do
echo "Extracting $(basename "$set")..."
COUNT_FILES=$(cat $(echo "$set" | sed -e "s/\.tgz/\.count/"))
(cd /mnt; pax -rz -f $set -v -pe 2>&1 | progressbar "$COUNT_FILES" || exit)
done;
echo "Creating device nodes..."
(cd /mnt/dev; MAKEDEV -s all)
# Fix permissions
chmod $(stat -f %Lp /usr) /mnt/usr
chown $(stat -f %u /usr) /mnt/usr
chgrp $(stat -f %g /usr) /mnt/usr
if [ "$nohome" = 0 ]; then
chmod $(stat -f %Lp /home) /mnt/home
chown $(stat -f %u /home) /mnt/home
chgrp $(stat -f %g /home) /mnt/home
fi
cp /mnt/etc/motd.install /mnt/etc/motd
# Fix /var/log
rm /mnt/var/log
ln -s /usr/log /mnt/var/log
# CD remnants that aren't for the installed system
rm /mnt/etc/issue /mnt/CD /mnt/.* 2>/dev/null
echo >/mnt/etc/fstab "/dev/$root / mfs rw 0 1
@ -722,8 +731,6 @@ none /dev/pts ptyfs rw,rslabel=ptyfs 0 0"
# National keyboard map.
test -n "$keymap" && cp -p "/usr/lib/keymaps/$keymap.map" /mnt/etc/keymap
# Make bootable.
mount /dev/$usr /mnt/usr >/dev/null || exit
# XXX we have to use "-f" here, because installboot worries about BPB, which
# we don't have...
installboot_nbsd -f /dev/$primary /usr/mdec/bootxx_minixfs3 >/dev/null || exit
@ -755,12 +762,37 @@ echo ""
/bin/netconf -p /mnt || echo FAILED TO CONFIGURE NETWORK
PACKAGES_DIR="/usr/packages/$(uname -v | cut -f2 -d' ')/$(uname -p)/All"
if [ -e "$PACKAGES_DIR" ]
then
echo "Installing pkgin..."
sh -c "cp $PACKAGES_DIR/pkgin-* $PACKAGES_DIR/pkg_install-* $PACKAGES_DIR/openssl-* /mnt/tmp &&
chroot /mnt pkg_add /tmp/openssl-* /tmp/pkg_install-* /tmp/pkgin-*"
rm -f /mnt/tmp/*
if [ -f "$PACKAGES_DIR/pkg_summary.bz2" ]
then
echo ""
echo "Packages are bundled on this installation media."
echo "They are available under the directory $PACKAGES_DIR"
echo "To install them after rebooting, mount this CD, set PKG_PATH to this directory"
echo "and use pkg_add."
echo "If you mount the CD at /mnt, PKG_PATH should be:"
echo "/mnt$PACKAGES_DIR"
echo ""
fi
fi
umount /dev/$usr && echo Unmounted $usr
umount /dev/$root && echo Unmounted $root
if [ "$nohome" = 0 ]; then
umount /dev/$home && echo Unmounted $home
fi
echo "
Please type 'reboot' to exit MINIX 3 and reboot. To boot into your new
system, you might have to remove installation media.
Please type 'shutdown -r now' to exit MINIX 3 and reboot. To boot into
your new system, you might have to remove the installation media.
This ends the MINIX 3 setup script. You may want to take care of post
installation steps, such as local testing and configuration.

View file

@ -72,6 +72,8 @@ PROGRAMS+= cdprobe
dir.cdprobe:= minix/commands/cdprobe
PROGRAMS+= pwd_mkdb
dir.pwd_mkdb:= usr.sbin/pwd_mkdb
PROGRAMS+= isofs
dir.isofs:= minix/fs/isofs
.if ${MKSMALL} != "yes"
PROGRAMS+= ahci

View file

@ -1,4 +1,4 @@
boot
boot
0 0
d--755 0 0
bin d--755 0 0
@ -25,6 +25,7 @@ d--755 0 0
#if RAMDISK_SMALL == 1
ext2 ---755 0 0 ext2
#endif
isofs ---755 0 0 isofs
#endif
#ifdef __arm__
mmc ---755 0 0 mmc

View file

@ -54,8 +54,11 @@ fi
if /bin/sysenv rootdevname >/dev/null
then rootdevname=/dev/`/bin/sysenv rootdevname`
else echo "rootdevname not set"
exit 1
else
if ! sysenv cdproberoot >/dev/null
then echo "rootdevname not set"
exit 1
fi
fi
if [ "`sysenv bin_img`" = 1 ]
@ -65,14 +68,12 @@ fi
if sysenv cdproberoot >/dev/null
then
echo
echo
echo 'Looking for boot CD. This may take a minute.'
echo 'Please ignore any error messages.'
echo
cddev=`cdprobe` || { echo 'No CD found'; exit 1; }
export cddev
echo "Loading ramdisk from ${cddev}p1"
loadramdisk "$cddev"p1
rootdevname=$(cdprobe) || { echo 'No CD found'; exit 1; }
export rootdevname
elif [ "$rootdevname" = "/dev/ram" ]
then
ramimagename=/dev/`/bin/sysenv ramimagename`
@ -81,8 +82,12 @@ then
fi
echo "Root device name is $rootdevname"
if [ -e $FSCK ]
then $FSCK -p $rootdevname
if ! sysenv cdproberoot >/dev/null
then
if [ -e $FSCK ]
then $FSCK -p $rootdevname
fi
fi
# Change root from temporary boot ramdisk to the configure

View file

@ -24,9 +24,10 @@ void read_tsc(u32_t *hi, u32_t *lo);
void read_tsc_64(u64_t *t);
/* return values for fsversion */
#define FSVERSION_MFS1 0x00001
#define FSVERSION_MFS2 0x00002
#define FSVERSION_MFS3 0x00003
#define FSVERSION_EXT2 0x10002
#define FSVERSION_MFS1 0x00001
#define FSVERSION_MFS2 0x00002
#define FSVERSION_MFS3 0x00003
#define FSVERSION_EXT2 0x10002
#define FSVERSION_ISO9660 0x20001
#endif

View file

@ -336,6 +336,9 @@ void kmain(kinfo_t *local_cbi)
*===========================================================================*/
static void announce(void)
{
/* Display the personalised welcome banner. */
printf("\nWelcome Sanchayan Maity. IIT CWID: A20340174\n");
/* Display the MINIX startup banner. */
printf("\nMINIX %s. "
#ifdef _VCS_REVISION

View file

@ -4,7 +4,7 @@
*
* n = fsversion("/dev/hd1", "df");
*
* The first argument is the special file for the file system.
* The first argument is the special file for the file system.
* The second is the program name, which is used in error messages.
*/
@ -22,42 +22,66 @@
static char super[SUPER_BLOCK_BYTES];
#define MAGIC_OFFSET_MFS 0x18
#define MAGIC_OFFSET_EXT 0x38
#define MAGIC_OFFSET_MFS 0x18
#define MAGIC_OFFSET_EXT 0x38
#define MAGIC_OFFSET_ISO9660 0x8000
#define MAGIC_VALUE_EXT2 0xef53
static int check_super(off_t offset, unsigned short magic)
{
return (memcmp(super + offset, &magic, sizeof(magic)) == 0) ? 1 : 0;
return (memcmp(super + offset, &magic, sizeof(magic)) == 0) ? 1 : 0;
}
int fsversion(dev, prog)
char *dev, *prog;
int fsversion(char *dev, char *prog)
{
int fd;
int result = -1, fd;
if ((fd = open(dev, O_RDONLY)) < 0) {
std_err(prog);
std_err(" cannot open ");
perror(dev);
return(-1);
}
if ((fd = open(dev, O_RDONLY)) < 0) {
std_err(prog);
std_err(" cannot open ");
perror(dev);
return(-1);
}
lseek(fd, (off_t) SUPER_BLOCK_BYTES, SEEK_SET); /* skip boot block */
if (read(fd, (char *) &super, sizeof(super)) != sizeof(super)) {
std_err(prog);
std_err(" cannot read super block on ");
perror(dev);
lseek(fd, (off_t) SUPER_BLOCK_BYTES, SEEK_SET); /* skip boot block */
if (read(fd, (char *) &super, sizeof(super)) != sizeof(super)) {
std_err(prog);
std_err(" cannot read super block on ");
perror(dev);
close(fd);
return(-1);
}
/* first check MFS, a valid MFS may look like EXT but not vice versa */
if (check_super(MAGIC_OFFSET_MFS, SUPER_MAGIC)) {
result = FSVERSION_MFS1;
goto done;
}
else if (check_super(MAGIC_OFFSET_MFS, SUPER_V2)) {
result = FSVERSION_MFS2;
goto done;
}
else if (check_super(MAGIC_OFFSET_MFS, SUPER_V3)) {
result = FSVERSION_MFS3;
goto done;
}
/* check ext2 */
if (check_super(MAGIC_OFFSET_EXT, MAGIC_VALUE_EXT2)) {
result = FSVERSION_EXT2;
goto done;
}
/* check ISO 9660 */
lseek(fd, (off_t) MAGIC_OFFSET_ISO9660, SEEK_SET);
if (read(fd, (char *) &super, sizeof(super)) == sizeof(super)) {
if (memcmp(super+1, "CD001", 5) == 0) {
result = FSVERSION_ISO9660;
goto done;
}
}
done:
close(fd);
return(-1);
}
close(fd);
/* first check MFS, a valid MFS may look like EXT but not vice versa */
if (check_super(MAGIC_OFFSET_MFS, SUPER_MAGIC)) return FSVERSION_MFS1;
if (check_super(MAGIC_OFFSET_MFS, SUPER_V2)) return FSVERSION_MFS2;
if (check_super(MAGIC_OFFSET_MFS, SUPER_V3)) return FSVERSION_MFS3;
if (check_super(MAGIC_OFFSET_EXT, MAGIC_VALUE_EXT2)) return FSVERSION_EXT2;
return(-1);
return result;
}

View file

@ -297,7 +297,7 @@ function run {
fi
fi
opts="-m 256 -hda $IMAGE"
append="$APPEND rootdevname=c0d0p1"
append="$APPEND rootdevname=c0d0p0"
[ ! -f $DISK ] || opts="$opts -hdb $DISK"
if [ "$OUT" == "F" ]; then
opts="$opts -curses -serial file:$MYPWD/serial.out"

View file

@ -3,7 +3,7 @@ set -e
#
# This script creates a bootable image and should at some point in the future
# be replaced by makefs.
# be replaced by the proper NetBSD infrastructure.
#
#
@ -21,28 +21,17 @@ fi
: ${ARCH=evbearm-el}
: ${OBJ=../obj.${ARCH}}
: ${CROSS_TOOLS=${OBJ}/"tooldir.`uname -s`-`uname -r`-`uname -m`"/bin}
: ${CROSS_PREFIX=${CROSS_TOOLS}/arm-elf32-minix-}
: ${JOBS=1}
: ${DESTDIR=${OBJ}/destdir.$ARCH}
: ${RELEASETOOLSDIR=./releasetools/}
: ${FSTAB=${DESTDIR}/etc/fstab}
: ${TOOLCHAIN_TRIPLET=arm-elf32-minix-}
: ${BUILDSH=build.sh}
: ${SETS="minix-base minix-comp minix-games minix-man minix-tests tests"}
: ${IMG=minix_arm_sd.img}
# ARM definitions:
: ${BUILDVARS=-V MKGCCCMDS=yes -V MKLLVM=no}
# These BUILDVARS are for building with LLVM:
#: ${BUILDVARS=-V MKLIBCXX=no -V MKKYUA=no -V MKATF=no -V MKLLVMCMDS=no}
: ${BUILDSH=build.sh}
: ${CREATE_IMAGE_ONLY=0}
: ${RC=minix_x86.rc}
# Where the kernel & boot modules will be
MODDIR=${DESTDIR}/boot/minix/.temp
#
# Directory where to store temporary file system images
#
: ${IMG_DIR=${OBJ}/img}
: ${MLO=MLO}
: ${UBOOT=u-boot.img}
: ${FAT_SIZE=$(( 10*(2**20) / 512))} # This is in sectors
# Beagleboard-xm
: ${U_BOOT_BIN_DIR=build/omap3_beagle/}
@ -55,28 +44,25 @@ MODDIR=${DESTDIR}/boot/minix/.temp
#
# We host u-boot binaries.
#
: ${MLO=MLO}
: ${UBOOT=u-boot.img}
U_BOOT_GIT_VERSION=cb5178f12787c690cb1c888d88733137e5a47b15
#
# All sized are written in 512 byte blocks
#
# we create a disk image of about 2 gig's
# for alignment reasons, prefer sizes which are multiples of 4096 bytes
#
: ${IMG_SIZE=$(( 2*(2**30) / 512))}
: ${FAT_SIZE=$(( 10*(2**20) / 512))}
: ${ROOT_SIZE=$(( 64*(2**20) / 512))}
: ${HOME_SIZE=$(( 128*(2**20) / 512))}
: ${USR_SIZE=$(( 1792*(2**20) / 512))}
if [ ! -f ${BUILDSH} ]
then
echo "Please invoke me from the root source dir, where ${BUILDSH} is."
exit 1
fi
#
# Do some math to determine the start addresses of the partitions.
# Don't leave holes so the 'partition' invocation later is easy.
#
FAT_START=2048
ROOT_START=$(($FAT_START + $FAT_SIZE))
USR_START=$(($ROOT_START + $ROOT_SIZE))
HOME_START=$(($USR_START + $USR_SIZE))
if [ -n "$BASE_URL" ]
then
#we no longer download u-boot but do a checkout
#BASE_URL used to be the base url for u-boot
#Downloads
echo "Warning:** Setting BASE_URL (u-boot) is no longer possible use U_BOOT_BIN_DIR"
echo "Look in ${RELEASETOOLSDIR}/arm_sdimage.sh for suggested values"
exit 1
fi
case $(uname -s) in
Darwin)
@ -93,22 +79,6 @@ FreeBSD)
;;
esac
if [ -n "$BASE_URL" ]
then
#we no longer download u-boot but do a checkout
#BASE_URL used to be the base url for u-boot
#Downloads
echo "Warning:** Setting BASE_URL (u-boot) is no longer possible use U_BOOT_BIN_DIR"
echo "Look in ${RELEASETOOLSDIR}/arm_sdimage.sh for suggested values"
exit 1
fi
if [ ! -f ${BUILDSH} ]
then
echo "Please invoke me from the root source dir, where ${BUILDSH} is."
exit 1
fi
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:${PATH}
for needed in mcopy dd ${MKFS_VFAT_CMD} git
@ -120,113 +90,63 @@ do
fi
done
: ${IMG=minix_arm_sd.img}
# we create a disk image of about 2 gig's
# for alignment reasons, prefer sizes which are multiples of 4096 bytes
: ${IMG_SIZE=$(( 2*(2**30) ))}
: ${ROOT_SIZE=$(( 64*(2**20) ))}
: ${HOME_SIZE=$(( 128*(2**20) ))}
: ${USR_SIZE=$(( 1792*(2**20) ))}
#
# Are we going to build the minix sources?
#
# set up disk creation environment
. releasetools/image.defaults
. releasetools/image.functions
if [ ${CREATE_IMAGE_ONLY} -eq 1 ]
then
if [ ! -d ${DESTDIR} ]
then
echo "Minix source code does'nt appear to have been built."
echo "Please try with \$CREATE_IMAGE_ONLY set to 0."
exit 1
fi
fi
# all sizes are written in 512 byte blocks
ROOTSIZEARG="-b $((${ROOT_SIZE} / 512 / 8))"
USRSIZEARG="-b $((${USR_SIZE} / 512 / 8))"
HOMESIZEARG="-b $((${HOME_SIZE} / 512 / 8))"
#
# Artifacts from this script are stored in the IMG_DIR
#
rm -rf ${IMG_DIR}
# where the kernel & boot modules will be
MODDIR=${DESTDIR}/boot/minix/.temp
if [ -f ${IMG} ] # IMG might be a block device
then rm -f ${IMG}
fi
echo "Building work directory..."
build_workdir "$SETS"
mkdir -p ${IMG_DIR}
echo "Adding extra files..."
#
# Download the stage 1 bootloader and u-boot
#
${RELEASETOOLSDIR}/fetch_u-boot.sh -o ${RELEASETOOLSDIR}/u-boot -n $U_BOOT_GIT_VERSION
cp ${RELEASETOOLSDIR}/u-boot/${U_BOOT_BIN_DIR}/u-boot.img ${IMG_DIR}/
cp ${RELEASETOOLSDIR}/u-boot/${U_BOOT_BIN_DIR}/MLO ${IMG_DIR}/
if [ ${CREATE_IMAGE_ONLY} -eq 0 ]
then
echo "Going to build Minix source code..."
#
# Remove the generated files to allow us call build.sh without '-V SLOPPY_FLIST=yes'.
#
rm -f ${FSTAB}
#
# Now start the build.
#
sh ${BUILDSH} -j ${JOBS} -m ${ARCH} -O ${OBJ} -D ${DESTDIR} ${BUILDVARS} -U -u distribution
fi
#
# create a fstab entry in /etc this is normally done during the
# setup phase on x86
#
cat >${FSTAB} <<END_FSTAB
# create a fstab entry in /etc
cat >${ROOT_DIR}/etc/fstab <<END_FSTAB
/dev/c0d0p2 /usr mfs rw 0 2
/dev/c0d0p3 /home mfs rw 0 2
none /sys devman rw,rslabel=devman 0 0
none /dev/pts ptyfs rw,rslabel=ptyfs 0 0
END_FSTAB
add_file_spec "etc/fstab" extra.fstab
rm -f ${DESTDIR}/SETS.*
echo "Bundling packages..."
bundle_packages "$BUNDLE_PACKAGES"
${CROSS_TOOLS}/nbpwd_mkdb -V 0 -p -d ${DESTDIR} ${DESTDIR}/etc/master.passwd
#
# make the different file system. this part is *also* hacky. We first convert
# the METALOG.sanitised using mtree into a input METALOG containing uids and
# gids.
# After that we do some magic processing to add device nodes (also missing from METALOG)
# and convert the METALOG into a proto file that can be used by mkfs.mfs
#
echo "Creating the file systems"
#
# read METALOG and use mtree to convert the user and group names into uid and gids
# FIX put "input somewhere clean"
#
cat ${DESTDIR}/METALOG.sanitised | ${CROSS_TOOLS}/nbmtree -N ${DESTDIR}/etc -C -K device > ${IMG_DIR}/input
# add rc (if any)
if [ -f ${RC} ]; then
cp ${RC} ${DESTDIR}/usr/etc/rc.local
echo "./usr/etc/rc.local type=file uid=0 gid=0 mode=0644" >> ${IMG_DIR}/input
fi
# add fstab
echo "./etc/fstab type=file uid=0 gid=0 mode=0755 size=747 time=1365060731.000000000" >> ${IMG_DIR}/input
# fill root.img (skipping /usr entries while keeping the /usr directory)
cat ${IMG_DIR}/input | grep -v "^./usr/" | ${CROSS_TOOLS}/nbtoproto -b ${DESTDIR} -o ${IMG_DIR}/root.proto
#
# Create proto files for /usr and /home using toproto.
#
cat ${IMG_DIR}/input | grep "^\./usr/\|^. " | sed "s,\./usr,\.,g" | ${CROSS_TOOLS}/nbtoproto -b ${DESTDIR}/usr -o ${IMG_DIR}/usr.proto
cat ${IMG_DIR}/input | grep "^\./home/\|^. " | sed "s,\./home,\.,g" | ${CROSS_TOOLS}/nbtoproto -b ${DESTDIR}/home -o ${IMG_DIR}/home.proto
echo "Creating specification files..."
create_input_spec
create_protos "usr home"
#
# Create the FAT partition, which contains the bootloader files, kernel and modules
#
dd if=/dev/zero of=${IMG_DIR}/fat.img bs=512 count=1 seek=$(($FAT_SIZE -1)) 2>/dev/null
dd if=/dev/zero of=${WORK_DIR}/fat.img bs=512 count=1 seek=$(($FAT_SIZE -1)) 2>/dev/null
#
# Format the fat partition and put the bootloaders
# uEnv and the kernel command line in the FAT partition
#
${MKFS_VFAT_CMD} ${MKFS_VFAT_OPTS} ${IMG_DIR}/fat.img
${MKFS_VFAT_CMD} ${MKFS_VFAT_OPTS} ${WORK_DIR}/fat.img
#
# Download the stage 1 bootloader and u-boot
#
${RELEASETOOLSDIR}/fetch_u-boot.sh -o ${RELEASETOOLSDIR}/u-boot -n $U_BOOT_GIT_VERSION
cp ${RELEASETOOLSDIR}/u-boot/${U_BOOT_BIN_DIR}/MLO ${WORK_DIR}/
cp ${RELEASETOOLSDIR}/u-boot/${U_BOOT_BIN_DIR}/u-boot.img ${WORK_DIR}/
#
# Create a uEnv.txt file
@ -234,21 +154,20 @@ ${MKFS_VFAT_CMD} ${MKFS_VFAT_OPTS} ${IMG_DIR}/fat.img
# -p add a prefix to the network booted files (e.g. xm/"
# -c set console e.g. tty02 or tty00
# -v set verbosity e.g. 0 to 3
#${RELEASETOOLSDIR}/gen_uEnv.txt.sh -c ${CONSOLE} -n -p bb/ > ${IMG_DIR}/uEnv.txt
${RELEASETOOLSDIR}/gen_uEnv.txt.sh -c ${CONSOLE} > ${IMG_DIR}/uEnv.txt
#${RELEASETOOLSDIR}/gen_uEnv.txt.sh -c ${CONSOLE} -n -p bb/ > ${WORK_DIR}/uEnv.txt
${RELEASETOOLSDIR}/gen_uEnv.txt.sh -c ${CONSOLE} > ${WORK_DIR}/uEnv.txt
echo "Copying configuration kernel and boot modules"
mcopy -bsp -i ${IMG_DIR}/fat.img ${IMG_DIR}/$MLO ::MLO
mcopy -bsp -i ${IMG_DIR}/fat.img ${IMG_DIR}/$UBOOT ::u-boot.img
mcopy -bsp -i ${IMG_DIR}/fat.img ${IMG_DIR}/uEnv.txt ::uEnv.txt
mcopy -bsp -i ${WORK_DIR}/fat.img ${WORK_DIR}/$MLO ::MLO
mcopy -bsp -i ${WORK_DIR}/fat.img ${WORK_DIR}/$UBOOT ::u-boot.img
mcopy -bsp -i ${WORK_DIR}/fat.img ${WORK_DIR}/uEnv.txt ::uEnv.txt
#
# Do some last processing of the kernel and servers and then put them on the FAT
# partition.
#
${CROSS_PREFIX}objcopy ${OBJ}/minix/kernel/kernel -O binary ${OBJ}/kernel.bin
mcopy -bsp -i ${IMG_DIR}/fat.img ${OBJ}/kernel.bin ::kernel.bin
mcopy -bsp -i ${WORK_DIR}/fat.img ${OBJ}/kernel.bin ::kernel.bin
for f in servers/vm/vm servers/rs/rs servers/pm/pm servers/sched/sched \
servers/vfs/vfs servers/ds/ds fs/mfs/mfs fs/pfs/pfs \
@ -257,7 +176,7 @@ do
fn=`basename $f`.elf
cp ${OBJ}/minix/${f} ${OBJ}/${fn}
${CROSS_PREFIX}strip -s ${OBJ}/${fn}
mcopy -bsp -i ${IMG_DIR}/fat.img ${OBJ}/${fn} ::${fn}
mcopy -bsp -i ${WORK_DIR}/fat.img ${OBJ}/${fn} ::${fn}
done
for f in tty/tty/tty storage/memory/memory
@ -265,42 +184,57 @@ do
fn=`basename $f`.elf
cp ${OBJ}/minix/drivers/${f} ${OBJ}/${fn}
${CROSS_PREFIX}strip -s ${OBJ}/${fn}
mcopy -bsp -i ${IMG_DIR}/fat.img ${OBJ}/${fn} ::${fn}
mcopy -bsp -i ${WORK_DIR}/fat.img ${OBJ}/${fn} ::${fn}
done
#
# For tftp booting
#
cp ${IMG_DIR}/uEnv.txt ${OBJ}/
cp ${WORK_DIR}/uEnv.txt ${OBJ}/
# Clean image
if [ -f ${IMG} ] # IMG might be a block device
then
rm -f ${IMG}
fi
#
# Create the empty image where we later will put the partitions in.
# Make sure it is at least 2GB, otherwise the SD card will not be detected
# correctly in qemu / HW.
#
dd if=/dev/zero of=${IMG} bs=512 count=1 seek=$(($IMG_SIZE -1))
dd if=/dev/zero of=${IMG} bs=512 count=1 seek=$((($IMG_SIZE / 512) -1))
#
# Generate /root, /usr and /home partition images.
#
echo "Writing Minix filesystem images"
echo " - ROOT"
_ROOT_SIZE=$((`${CROSS_TOOLS}/nbmkfs.mfs -I $((${ROOT_START} * 512)) -b $((${ROOT_SIZE} / 8)) ${IMG} ${IMG_DIR}/root.proto`/512))
echo " - USR"
_USR_SIZE=$((`${CROSS_TOOLS}/nbmkfs.mfs -I $((${USR_START} * 512)) -b $((${USR_SIZE} / 8)) ${IMG} ${IMG_DIR}/usr.proto`/512))
echo " - HOME"
_HOME_SIZE=$((`${CROSS_TOOLS}/nbmkfs.mfs -I $((${HOME_START} * 512)) -b $((${HOME_SIZE} / 8)) ${IMG} ${IMG_DIR}/home.proto`/512))
echo "Writing disk image..."
FAT_START=2048 # those are sectors
ROOT_START=$(($FAT_START + $FAT_SIZE))
echo " * ROOT"
_ROOT_SIZE=$(${CROSS_TOOLS}/nbmkfs.mfs -d ${ROOTSIZEARG} -I $((${ROOT_START}*512)) ${IMG} ${WORK_DIR}/proto.root)
_ROOT_SIZE=$(($_ROOT_SIZE / 512))
USR_START=$((${ROOT_START} + ${_ROOT_SIZE}))
echo " * USR"
_USR_SIZE=$(${CROSS_TOOLS}/nbmkfs.mfs -d ${USRSIZEARG} -I $((${USR_START}*512)) ${IMG} ${WORK_DIR}/proto.usr)
_USR_SIZE=$(($_USR_SIZE / 512))
HOME_START=$((${USR_START} + ${_USR_SIZE}))
echo " * HOME"
_HOME_SIZE=$(${CROSS_TOOLS}/nbmkfs.mfs -d ${HOMESIZEARG} -I $((${HOME_START}*512)) ${IMG} ${WORK_DIR}/proto.home)
_HOME_SIZE=$(($_HOME_SIZE / 512))
#
# Write the partition table using the natively compiled
# minix partition utility
#
${CROSS_TOOLS}/nbpartition -f -m ${IMG} ${FAT_START} "c:${FAT_SIZE}*" \
81:${_ROOT_SIZE} 81:${_USR_SIZE} 81:${_HOME_SIZE}
${CROSS_TOOLS}/nbpartition -f -m ${IMG} ${FAT_START} "c:${FAT_SIZE}*" 81:${_ROOT_SIZE} 81:${_USR_SIZE} 81:${_HOME_SIZE}
#
# Merge the partitions into a single image.
#
echo "Merging file systems"
dd if=${IMG_DIR}/fat.img of=${IMG} seek=$FAT_START conv=notrunc
dd if=${WORK_DIR}/fat.img of=${IMG} seek=$FAT_START conv=notrunc
echo "Disk image at `pwd`/${IMG}"
echo "To boot this image on kvm:"
echo "qemu-system-arm -M beaglexm -serial stdio -drive if=sd,cache=writeback,file=`pwd`/${IMG}"

View file

@ -0,0 +1,20 @@
: ${OBJ=../obj.${ARCH}}
: ${CROSS_TOOLS=${OBJ}/"tooldir.`uname -s`-`uname -r`-`uname -m`"/bin}
: ${CROSS_PREFIX=${CROSS_TOOLS}/${TOOLCHAIN_TRIPLET}}
: ${JOBS=1}
: ${DESTDIR=${OBJ}/destdir.$ARCH}
: ${RELEASEDIR=${OBJ}/releasedir/$ARCH/binary}
: ${RELEASETOOLSDIR=./releasetools/}
: ${BUILDVARS=}
: ${CREATE_IMAGE_ONLY=0}
: ${RELEASE_VERSION=$(sh sys/conf/osrelease.sh)}
: ${WORK_DIR=${OBJ}/work}
: ${SETS_DIR=${OBJ}/releasedir/${ARCH}/binary/sets}
: ${PACKAGE_DIR=}
: ${PKG_INFO=pkg_info}
: ${BUNDLE_PACKAGES=}
: ${RC=../local/rc.${ARCH}}
: ${ASR_HACK=0}

View file

@ -0,0 +1,355 @@
#
# spec file handling
#
#
# Add a directory to a spec file
#
# $1 : directory to add
# $2 : spec file
add_dir_spec() {
echo "./$1 type=dir uid=0 gid=0 mode=0755" >> ${WORK_DIR}/$2
}
#
# Add a file to a spec file
#
# $1 : file to add
# $2 : spec file
add_file_spec() {
echo "./$1 type=file uid=0 gid=0 mode=0755 size=$(wc -c < ${ROOT_DIR}/${1})" >> ${WORK_DIR}/$2
}
#
# Add a symbolic link to a spec file
#
# $1 : symlink to add
# $2 : link to
# $3 : spec file
add_link_spec() {
echo "./$1 type=link uid=0 gid=0 mode=0755 link=$2" >> ${WORK_DIR}/$3
}
#
# workdir handling
#
#
# Create the workdir (a directory where Minix is built using sets)
# spec files are put in WORK_DIR, the file system created in ROOT_DIR
#
# $1 : sets to extract
build_workdir() {
# Extract sets
mkdir -p ${ROOT_DIR}
for set in $1; do
if [ ! -e ${SETS_DIR}/${set}.tgz ]; then
echo "Missing ${SETS_DIR}/${set}.tgz, aborting"
echo "Are the release sets tarballs created?"
exit 1
fi
echo " * Extracting $set..."
(cd ${ROOT_DIR}; ${CROSS_TOOLS}/nbpax -rnz -f ${SETS_DIR}/${set}.tgz .)
done
# add rc (if any)
if [ -f ${RC} ]; then
cp ${RC} ${ROOT_DIR}/usr/etc/rc.local
fi
# Build login/password files
${CROSS_TOOLS}/nbpwd_mkdb -V 0 -p -d ${ROOT_DIR} ${ROOT_DIR}/etc/master.passwd
# Build specifications files
cp ${ROOT_DIR}/etc/mtree/set* ${WORK_DIR}
${ROOT_DIR}/usr/bin/MAKEDEV -s -m all >> ${WORK_DIR}/extra.dev
}
#
# Add tarball sets to the workdir (for installation CD)
#
workdir_add_sets() {
# Add sets to the root
mkdir -p ${ROOT_DIR}/${ARCH}/binary/sets;
add_dir_spec "${ARCH}" extra.sets
add_dir_spec "${ARCH}/binary" extra.sets
add_dir_spec "${ARCH}/binary/sets" extra.sets
DEST_SETS_DIR="${ARCH}/binary/sets"
for set in ${SETS_DIR}/*.tgz; do
# Copy set itself
cp ${set} ${ROOT_DIR}/${DEST_SETS_DIR}
add_file_spec "${DEST_SETS_DIR}/$(basename ${set})" extra.sets
# Add file count
COUNT_SRC=$(echo $(basename ${set}) | sed -e "s/\(.*\)\.tgz/\set.\1/")
COUNT_NAME=$(echo $(basename ${set}) | sed -e "s/\.tgz/\.count/")
if [ -e "${DESTDIR}/etc/mtree/${COUNT_SRC}" ]
then
wc -l < ${DESTDIR}/etc/mtree/${COUNT_SRC} > ${ROOT_DIR}/${DEST_SETS_DIR}/${COUNT_NAME}
else
# Can't find mtree file, set bogus number
echo 1 > ${ROOT_DIR}/${DEST_SETS_DIR}/${COUNT_NAME}
fi
add_file_spec "${DEST_SETS_DIR}/${COUNT_NAME}" extra.sets
done
# Add checksums
cp ${SETS_DIR}/MD5 ${ROOT_DIR}/${DEST_SETS_DIR}
add_file_spec "${DEST_SETS_DIR}/MD5" extra.sets
cp ${SETS_DIR}/SHA512 ${ROOT_DIR}/${DEST_SETS_DIR}
add_file_spec "${DEST_SETS_DIR}/SHA512" extra.sets
}
#
# Add CD boot files to the workdir
#
workdir_add_cdfiles() {
# Add boot monitor
cp ${DESTDIR}/usr/mdec/boot_monitor ${ROOT_DIR}/minixboot
add_file_spec "minixboot" extra.cdfiles
# Add README
cp releasetools/release/cd/README.TXT ${ROOT_DIR}/README.TXT
add_file_spec "README.TXT" extra.cdfiles
}
#
# Extract kernel to designated directory
#
# $1: Directory where to extract
workdir_add_kernel()
{
(cd ${ROOT_DIR}; ${CROSS_TOOLS}/nbpax -rnz -f ${SETS_DIR}/minix-kernel.tgz .)
# Move kernel files to the correct directory
if [ ! -d ${ROOT_DIR}/boot/$1 ]
then
mkdir -p ${ROOT_DIR}/boot/$1
add_dir_spec "boot/$1" extra.kernel
fi
mv ${ROOT_DIR}/boot/minix/.temp/* ${ROOT_DIR}/boot/$1
rm -rf ${ROOT_DIR}/boot/minix/.temp
for i in $(cd ${ROOT_DIR}/boot/$1 && echo *)
do
add_file_spec "boot/$1/$i" extra.kernel
done
}
#
# Read METALOG and use mtree to convert the user and group names into uid and gids.
# Used as the reference mtree for building file systems.
#
create_input_spec()
{
cat ${WORK_DIR}/set* ${WORK_DIR}/extra* | ${CROSS_TOOLS}/nbmtree -N ${ROOT_DIR}/etc -C -K device > ${WORK_DIR}/input
if [ ${ASR_HACK} -eq 1 ]
then
# Hacky workaround for ASR-randomized service binaries since they don't get nicely packaged in a tarball
# add any generated ASR-randomized service binaries (but not their root directory, which is already there)
# TODO: apply stricter file permissions for both these and the base /service binaries, against local attacks
(cd ${DESTDIR} && find ./usr/service/asr -type d | sed '1d;s/$/ type=dir uid=0 gid=0 mode=0755/') >> ${WORK_DIR}/input
(cd ${DESTDIR} && find ./usr/service/asr -type f | sed 's/$/ type=file uid=0 gid=0 mode=0755/') >> ${WORK_DIR}/input
cp -r ${DESTDIR}/usr/service/asr ${ROOT_DIR}/usr/service
fi
}
#
# Split mtree into partitions and create proto files for nbmkfs.mfs
#
# $1 : partitions to create (example: usr home)
create_protos()
{
# build filter
FILTER_COMMAND="cat ${WORK_DIR}/input"
for i in $1
do
FILTER_COMMAND="$FILTER_COMMAND | grep -v \"^./$i/\" "
done
# fill root.img (skipping entries inside partitions while keeping partition mount points)
eval $FILTER_COMMAND | ${CROSS_TOOLS}/nbtoproto -b ${ROOT_DIR} -o ${WORK_DIR}/proto.root
# create proto files for partitions using toproto
for i in $1
do
cat ${WORK_DIR}/input | grep "^\./$i/\|^. " | sed "s,\./$i,\.,g" | ${CROSS_TOOLS}/nbtoproto -b ${ROOT_DIR}/$i -o ${WORK_DIR}/proto.$i
done
}
#
# Bundle packages (won't preinstall them)
#
# $1 : packages to bundle
bundle_packages()
{
if [ -z "$1" ]
then
return
fi
if [ -z $PACKAGE_DIR ]
then
echo "Error: PACKAGE_DIR is not set while trying to bundle packages."
echo "Please fetch binary packages to bundle and set PACKAGE_DIR to continue."
exit 1
fi
DESTPACKAGES="usr/packages/$RELEASE_VERSION/$ARCH/All"
RELEASEPACKAGE="${ROOT_DIR}/$DESTPACKAGES"
index=pkg_summary
# create directories
mkdir -p $RELEASEPACKAGE
add_dir_spec "usr/packages" extra.pkgsrc
add_dir_spec "usr/packages/$RELEASE_VERSION" extra.pkgsrc
add_dir_spec "usr/packages/$RELEASE_VERSION/$ARCH" extra.pkgsrc
add_dir_spec "usr/packages/$RELEASE_VERSION/$ARCH/All" extra.pkgsrc
add_link_spec "packages" "usr/packages" extra.pkgsrc
for pkgprefix in $1
do
realfn=$(echo $PACKAGE_DIR/${pkgprefix}*.tgz | cut -d' ' -f1)
if [ -f "$realfn" ]
then
# Copy package
p="$(basename $realfn)"
echo " * Bundling $p..."
cp "$realfn" "$RELEASEPACKAGE/$p"
add_file_spec "$DESTPACKAGES/$p" extra.pkgsrc
else
echo "Error: Can't find $pkgprefix in directory $PACKAGE_DIR for bundling package."
exit 1
fi
done
if [ -x "$(which $PKG_INFO)" ]
then
# Create packages index
echo " * Generating package index..."
indexname=$indexpath/$p.$index
$PKG_INFO -X $RELEASEPACKAGE/*.tgz >> $RELEASEPACKAGE/$index
# Compress index
echo " * Compressing index..."
bzip2 -f $RELEASEPACKAGE/$index
add_file_spec "$DESTPACKAGES/$index.bz2" extra.pkgsrc
else
echo " * Skipping package index generation."
echo " PKG_INFO ("$(which $PKG_INFO)") not executable."
fi
}
#
# stuff executed automatically to set up environment
#
usage() {
echo "Usage: $0 [options]"
echo " -X xsrc Build with X11 located in \"xsrc\" and extract its sets for image"
echo " (do not automatically extract for installation CD)"
echo " -b Add ASR service binaries to the image"
echo " (said binaries must be built beforehand)"
echo ""
echo "Environment variables:"
echo " CREATE_IMAGE_ONLY If set to 1, skip invocation of build.sh (default: 0)"
echo " JOBS Number of CPUs to use for build.sh to use (default: 1)"
echo " SETS Sets to extract for image (default: depends on script)"
echo " BUILDVARS Extra options passed to build.sh (default: none)"
echo ""
echo " PACKAGE_DIR Path to packages to bundle (default: none)"
echo " BUNDLE_PACKAGES List of packages to bundle (default: none)"
echo " PKG_INFO Path to 'pkg_info' for bundling (default: pkg_info)"
}
# parse options
while getopts "iX:bh" c
do
case "$c" in
i) echo "This method of generating the ISO installation media is obsolete."
echo "Run ./releasetools/x86_cdimage.sh instead."
exit 1;;
X) # we don't want to extract X sets by default for the installation CD
if [ $0 != "releasetools/x86_cdimage.sh" ]
then
SETS="$SETS xbase xcomp xetc xfont xserver"
fi
MKX11=yes
export MKX11
BUILDVARS="$BUILDVARS -X $OPTARG";;
b) # bitcode build: increase partition sizes
ROOT_SIZE="$((${ROOT_SIZE} + 192*(2**20) / 512))"
USR_SIZE="$((${USR_SIZE} + 256*(2**20) / 512))"
ASR_HACK=1;;
h) usage
exit 0;;
:) usage
exit 2;;
\?)
usage
exit 2;;
esac
done
#
# Are we going to build the minix sources?
#
if [ ${CREATE_IMAGE_ONLY} -eq 1 ]
then
if [ ! -d ${DESTDIR} ]
then
echo "Minix source code doesn't appear to have been built."
echo "Please try with \$CREATE_IMAGE_ONLY set to 0."
exit 1
fi
if [ ! -d ${RELEASEDIR} ]
then
echo "Minix release tarball sets don't appear to have been created."
echo "Please try with \$CREATE_IMAGE_ONLY set to 0."
exit 1
fi
# FIXME: this won't change anything for tarballs
#${CROSS_TOOLS}/nbmake-i386 -C releasetools do-hdboot
else
echo "Going to build Minix source code..."
#
# Remove the generated files to allow us call build.sh without '-V SLOPPY_FLIST=yes'.
#
rm -f ${FSTAB}
#
# Now start the build.
#
sh ${BUILDSH} -j ${JOBS} -m ${ARCH} -O ${OBJ} -D ${DESTDIR} ${BUILDVARS} -U -u release
fi
# sanity check
if [ -d "${WORK_DIR}/.git" ]
then
echo "WORK_DIR directory has a Git repository in it, abort!"
exit 1
fi
# clean working directory
if [ -e "${WORK_DIR}" ]
then
rm -rf "${WORK_DIR}"
fi
mkdir -p ${WORK_DIR}
# get absolute paths to those directories
CROSS_TOOLS=$(cd ${CROSS_TOOLS} && pwd)
DESTDIR=$(cd ${DESTDIR} && pwd)
OBJ=$(cd ${OBJ} && pwd)
SETS_DIR=$(cd ${SETS_DIR} && pwd)
WORK_DIR=$(cd ${WORK_DIR} && pwd)
ROOT_DIR=${WORK_DIR}/fs

View file

@ -19,7 +19,6 @@ p5-MailTools-
p5-Error-
p5-Email-Valid-1
p5-Authen-SASL-2
expat-
curl-
python27-
libxml2-
@ -43,7 +42,6 @@ tegaki-zinnia-japanese-kyoiku-
ucon64-
unzoo-
zoo-
wwwcount-
z80-asm-
zombies-
bootstrap-mk-files-
@ -54,7 +52,6 @@ zsh-
zsync-
zzuf-
buffer-
p5-XML-Parser-2
intltool-
readline-
libtool-base-

View file

@ -44,9 +44,11 @@ CD CONTENTS:
This CD contains:
- README.TXT This file
There are also many invisible files used for installing MINIX 3.
- README.TXT This file
- i386/ Base system distribution files, for
installation
- usr/packages/ Extra packages, if bundled with this CD
- Everything else MINIX 3 files
------------------------------------------------------------------------

71
releasetools/sort_set.pl Executable file
View file

@ -0,0 +1,71 @@
#!/usr/bin/perl -T -t -w -W
# Sort each line of the input, ignoring any line beginning with a #.
# Also format the output so that it is properly aligned, with exceptions
# for values which are too long for their respective field.
print <<HEADER;
#
# Sorted using sort_set.pl in releasetools.
# to add an entry simply add it at the end of the
# file and run
# ../../../../releasetools/sort_set.pl < mi > out
# mv out mi
#
HEADER
while(<STDIN>) {
# Ignore any line starting with a '#'
if ($_ =~ m/#.*/) {
next;
}
# Entry with a condition field, one or more whitespace characters
# separate each column. Example:
# ./etc/X11 minix-base xorg
if ($_ =~ m/(\S+)\s+(\S+)\s+(\S+)/) {
my ($f, $s, $c) = ($1, $2, $3);
$k = "$f.$c";
$files{$k} = $f;
$sets{$k} = $s;
$conditions{$k} = $c;
next;
}
# Entry without a condition field. Example:
# ./bin minix-base
if ($_ =~ m/(\S+)\s+(\S+)/) {
my ($f, $s) = ($1, $2);
$k = "$f.";
$files{$k} = $f;
$sets{$k} = $s;
}
}
# Sort by file/directory name.
foreach $key (sort keys %sets) {
$file = $files{$key};
$set = $sets{$key};
if (length($file) < 56) {
printf("%-55s ", $file);
} else {
printf("%s ", $file);
}
$last = $set;
if (exists($conditions{$key})) {
# A condition is present, so make sure it is printed with
# the required alignment, by adding the necessary padding
# after the set column. Otherwise do not add trailing
# spaces.
$last = $conditions{$key};
if (length($set) < 16) {
printf("%-15s ", $set);
} else {
printf("%s ", $set);
}
}
printf("%s\n", $last);
}

View file

@ -1,26 +0,0 @@
#!/bin/sh
#
# kinda natural sorting for sets
# prepend every line with a modified path where
# slashes are replaced by "1" and "0" is added
# at the end of the string.
#
# entry
# ./bin/cat minix-sys
# becomes
#.1bin1cat0 ./bin/cat minix-sys
#
# This entry gets sorted after wich the key is removed using
# cut
#
# Additionally all lines starting with "#" are put on
# top in the order they where put in the file. this is done
# by creating a "key" with the value COUNTER
#
COUNTER=10000
while read i
do
A=$(echo $i | cut -f 1 -d ' ' | sed "s,^#,00$COUNTER,g" | sed 's,/,1,g' )
echo "${A}0 $i"
COUNTER=$(($COUNTER +1))
done | sort | cut -d ' ' -f 2-

101
releasetools/x86_cdimage.sh Executable file
View file

@ -0,0 +1,101 @@
#!/usr/bin/env bash
set -e
#
# This script creates a bootable image and should at some point in the future
# be replaced by the proper NetBSD infrastructure.
#
: ${ARCH=i386}
: ${OBJ=../obj.${ARCH}}
: ${TOOLCHAIN_TRIPLET=i586-elf32-minix-}
: ${BUILDSH=build.sh}
: ${SETS="minix-base"}
: ${IMG=minix_x86.iso}
if [ ! -f ${BUILDSH} ]
then
echo "Please invoke me from the root source dir, where ${BUILDSH} is."
exit 1
fi
# set up disk creation environment
. releasetools/image.defaults
. releasetools/image.functions
# where the kernel & boot modules will be
MODDIR=${DESTDIR}/boot/minix/.temp
echo "Building work directory..."
build_workdir "$SETS"
echo "Adding extra files..."
workdir_add_sets
workdir_add_cdfiles
# create a fstab entry in /etc
cat >${ROOT_DIR}/etc/fstab <<END_FSTAB
none /sys devman rw,rslabel=devman 0 0
none /dev/pts ptyfs rw,rslabel=ptyfs 0 0
END_FSTAB
add_file_spec "etc/fstab" extra.fstab
workdir_add_kernel minix_default
# add boot.cfg
cat >${ROOT_DIR}/boot.cfg <<END_BOOT_CFG
banner=Welcome to the MINIX 3 installation CD
banner================================================================================
banner=
menu=Regular MINIX 3:multiboot /boot/minix_default/kernel bootcd=1 cdproberoot=1 disable=inet
menu=Regular MINIX 3 (with AHCI):multiboot /boot/minix_default/kernel bootcd=1 cdproberoot=1 disable=inet ahci=yes
menu=Edit menu option:edit
menu=Drop to boot prompt:prompt
clear=1
timeout=10
default=1
load=/boot/minix_default/mod01_ds
load=/boot/minix_default/mod02_rs
load=/boot/minix_default/mod03_pm
load=/boot/minix_default/mod04_sched
load=/boot/minix_default/mod05_vfs
load=/boot/minix_default/mod06_memory
load=/boot/minix_default/mod07_tty
load=/boot/minix_default/mod08_mfs
load=/boot/minix_default/mod09_vm
load=/boot/minix_default/mod10_pfs
load=/boot/minix_default/mod11_init
END_BOOT_CFG
add_file_spec "boot.cfg" extra.cdfiles
# add README.TXT
cp releasetools/release/cd/README.TXT ${ROOT_DIR}/README.TXT
add_file_spec "README.TXT" extra.cdfiles
# set correct message of the day (log in and install tip)
cp releasetools/release/cd/etc/issue ${ROOT_DIR}/etc/issue
add_file_spec "etc/issue" extra.cdfiles
echo "Bundling packages..."
bundle_packages "$BUNDLE_PACKAGES"
echo "Creating specification files..."
create_input_spec
create_protos
# Clean image
if [ -f ${IMG} ] # IMG might be a block device
then
rm -f ${IMG}
fi
echo "Writing ISO..."
${CROSS_TOOLS}/nbmakefs -t cd9660 -F ${WORK_DIR}/input -o "rockridge,bootimage=i386;${DESTDIR}/usr/mdec/bootxx_cd9660,label=MINIX" ${IMG} ${ROOT_DIR}
#mods=$(cd ${MODDIR}; echo mod* | tr ' ' ',')
echo "ISO image at `pwd`/${IMG}"
echo "To boot this image on kvm:"
#echo "cd ${MODDIR} && qemu-system-i386 --enable-kvm -kernel kernel -append \"bootcd=1 cdproberoot=1 disable=inet\" -initrd \"${mods}\" -cdrom `pwd`/${IMG}"
echo "qemu-system-i386 --enable-kvm -cdrom `pwd`/${IMG}"

View file

@ -3,7 +3,7 @@ set -e
#
# This script creates a bootable image and should at some point in the future
# be replaced by makefs.
# be replaced by the proper NetBSD infrastructure.
#
# Supported command line switches:
# -i build iso image instead of qemu imaeg
@ -12,208 +12,113 @@ set -e
: ${ARCH=i386}
: ${OBJ=../obj.${ARCH}}
: ${CROSS_TOOLS=${OBJ}/"tooldir.`uname -s`-`uname -r`-`uname -m`"/bin}
: ${CROSS_PREFIX=${CROSS_TOOLS}/i586-elf32-minix-}
: ${JOBS=1}
: ${DESTDIR=${OBJ}/destdir.$ARCH}
: ${RELEASETOOLSDIR=./releasetools/}
: ${FSTAB=${DESTDIR}/etc/fstab}
: ${BUILDVARS=}
: ${TOOLCHAIN_TRIPLET=i586-elf32-minix-}
: ${BUILDSH=build.sh}
: ${CREATE_IMAGE_ONLY=0}
: ${RC=minix_x86.rc}
#
# Directory where to store temporary file system images
#
: ${IMG_DIR=${OBJ}/img}
: ${CDFILES=${IMG_DIR}/cd}
# All sized are written in 512 byte blocks
#
# we create a disk image of about 2 gig's
# for alignment reasons, prefer sizes which are multiples of 4096 bytes
#
# these sizes are insufficient for bitcode builds!
# invoke this script with the -b flag to increase sizes accordingly
#
: ${ROOT_SIZE=$(( 64*(2**20) / 512))}
: ${HOME_SIZE=$(( 128*(2**20) / 512))}
: ${USR_SIZE=$(( 1792*(2**20) / 512))}
#
# Do some math to determine the start addresses of the partitions.
# Don't leave holes so the 'partition' invocation later is easy.
#
# Where the kernel & boot modules will be
MODDIR=${DESTDIR}/boot/minix/.temp
while getopts "ib" c
do
case "$c" in
i) : ${IMG=minix_x86.iso}
ISOMODE=1
;;
b) # bitcode build: increase partition sizes
ROOT_SIZE="$((${ROOT_SIZE} + 192*(2**20) / 512))"
USR_SIZE="$((${USR_SIZE} + 256*(2**20) / 512))"
;;
esac
done
: ${SETS="minix-base minix-comp minix-games minix-man minix-tests tests"}
: ${IMG=minix_x86.img}
if [ "x${ISOMODE}" = "x1" ]
then
# In iso mode, make all FSes fit (i.e. as small as possible), but
# leave some space on /
ROOTSIZEARG="-x 5"
else
# In hd image mode, FSes have fixed sizes
ROOTSIZEARG="-b $((${ROOT_SIZE} / 8))"
USRSIZEARG="-b $((${USR_SIZE} / 8))"
HOMESIZEARG="-b $((${HOME_SIZE} / 8))"
fi
if [ ! -f ${BUILDSH} ]
then
echo "Please invoke me from the root source dir, where ${BUILDSH} is."
exit 1
fi
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:${PATH}
# we create a disk image of about 2 gig's
# for alignment reasons, prefer sizes which are multiples of 4096 bytes
: ${BOOTXX_SECS=32}
: ${ROOT_SIZE=$(( 128*(2**20) - ${BOOTXX_SECS} * 512 ))}
: ${HOME_SIZE=$(( 128*(2**20) ))}
: ${USR_SIZE=$(( 1792*(2**20) ))}
#
# Are we going to build the minix sources?
#
# set up disk creation environment
. releasetools/image.defaults
. releasetools/image.functions
if [ ${CREATE_IMAGE_ONLY} -eq 1 ]
then
if [ ! -d ${DESTDIR} ]
then
echo "Minix source code does'nt appear to have been built."
echo "Please try with \$CREATE_IMAGE_ONLY set to 0."
exit 1
fi
fi
# all sizes are written in 512 byte blocks
ROOTSIZEARG="-b $((${ROOT_SIZE} / 512 / 8))"
USRSIZEARG="-b $((${USR_SIZE} / 512 / 8))"
HOMESIZEARG="-b $((${HOME_SIZE} / 512 / 8))"
#
# Artifacts from this script are stored in the IMG_DIR
#
rm -rf ${IMG_DIR} ${IMG}
mkdir -p ${IMG_DIR} ${CDFILES}
# where the kernel & boot modules will be
MODDIR=${DESTDIR}/boot/minix/.temp
if [ ${CREATE_IMAGE_ONLY} -eq 0 ]
then
echo "Going to build Minix source code..."
#
# Remove the generated files to allow us call build.sh without '-V SLOPPY_FLIST=yes'.
#
rm -f ${FSTAB}
echo "Building work directory..."
build_workdir "$SETS"
#
# Now start the build.
#
sh ${BUILDSH} -j ${JOBS} -m ${ARCH} -O ${OBJ} -D ${DESTDIR} ${BUILDVARS} -U -u distribution
else
${CROSS_TOOLS}/nbmake-i386 -C releasetools do-hdboot
fi
echo "Adding extra files..."
#
# create a fstab entry in /etc this is normally done during the
# setup phase on x86
#
cat >${FSTAB} <<END_FSTAB
/dev/c0d0p2 /usr mfs rw 0 2
/dev/c0d0p3 /home mfs rw 0 2
# create a fstab entry in /etc
cat >${ROOT_DIR}/etc/fstab <<END_FSTAB
/dev/c0d0p1 /usr mfs rw 0 2
/dev/c0d0p2 /home mfs rw 0 2
none /sys devman rw,rslabel=devman 0 0
none /dev/pts ptyfs rw,rslabel=ptyfs 0 0
END_FSTAB
add_file_spec "etc/fstab" extra.fstab
rm -f ${DESTDIR}/SETS.*
cp ${DESTDIR}/usr/mdec/boot_monitor ${ROOT_DIR}/boot_monitor
add_file_spec "boot_monitor" extra.boot
${CROSS_TOOLS}/nbpwd_mkdb -V 0 -p -d ${DESTDIR} ${DESTDIR}/etc/master.passwd
add_link_spec "boot/minix_latest" "minix_default" extra.kernel
workdir_add_kernel minix_default
workdir_add_kernel minix/$RELEASE_VERSION
#
# make the different file system. this part is *also* hacky. We first convert
# the METALOG.sanitised using mtree into a input METALOG containing uids and
# gids.
# After that we do some magic processing to add device nodes (also missing from METALOG)
# and convert the METALOG into a proto file that can be used by mkfs.mfs
#
echo "Creating the file systems"
# add boot.cfg
cat >${ROOT_DIR}/boot.cfg <<END_BOOT_CFG
clear=1
timeout=5
default=2
menu=Start MINIX 3:load_mods /boot/minix_default/mod*; multiboot /boot/minix_default/kernel rootdevname=c0d0p0
menu=Start latest MINIX 3:load_mods /boot/minix_latest/mod*; multiboot /boot/minix_latest/kernel rootdevname=c0d0p0
menu=Start latest MINIX 3 in single user mode:load_mods /boot/minix_latest/mod*; multiboot /boot/minix_latest/kernel rootdevname=c0d0p0 bootopts=-s
menu=Start MINIX 3 ALIX:load_mods /boot/minix_default/mod*;multiboot /boot/minix_default/kernel rootdevname=c0d0p0 console=tty00 consdev=com0 ata_no_dma=1
menu=Edit menu option:edit
menu=Drop to boot prompt:prompt
default=2
menu=Start MINIX 3 ($RELEASE_VERSION):load_mods /boot/minix/$RELEASE_VERSION/mod*; multiboot /boot/minix/$RELEASE_VERSION/kernel rootdevname=c0d0p0
END_BOOT_CFG
add_file_spec "boot.cfg" extra.boot
#
# read METALOG and use mtree to convert the user and group names into uid and gids
# FIX put "input somewhere clean"
#
cat ${DESTDIR}/METALOG.sanitised | ${CROSS_TOOLS}/nbmtree -N ${DESTDIR}/etc -C -K device > ${IMG_DIR}/input
echo "Bundling packages..."
bundle_packages "$BUNDLE_PACKAGES"
# add rc (if any)
if [ -f ${RC} ]; then
cp ${RC} ${DESTDIR}/usr/etc/rc.local
echo "./usr/etc/rc.local type=file uid=0 gid=0 mode=0644" >> ${IMG_DIR}/input
fi
echo "Creating specification files..."
create_input_spec
create_protos "usr home"
# add fstab
echo "./etc/fstab type=file uid=0 gid=0 mode=0755 size=747 time=1365060731.000000000" >> ${IMG_DIR}/input
# add any generated ASR-randomized service binaries (but not their root directory, which is already there)
# TODO: apply stricter file permissions for both these and the base /service binaries, against local attacks
(cd ${DESTDIR} && find ./usr/service/asr -type d | sed '1d;s/$/ type=dir uid=0 gid=0 mode=0755/') >> ${IMG_DIR}/input
(cd ${DESTDIR} && find ./usr/service/asr -type f | sed 's/$/ type=file uid=0 gid=0 mode=0755/') >> ${IMG_DIR}/input
# fill root.img (skipping /usr entries while keeping the /usr directory)
cat ${IMG_DIR}/input | grep -v "^./usr/" | ${CROSS_TOOLS}/nbtoproto -b ${DESTDIR} -o ${IMG_DIR}/root.proto
#
# Create proto files for /usr and /home using toproto.
#
cat ${IMG_DIR}/input | grep "^\./usr/\|^. " | sed "s,\./usr,\.,g" | ${CROSS_TOOLS}/nbtoproto -b ${DESTDIR}/usr -o ${IMG_DIR}/usr.proto
cat ${IMG_DIR}/input | grep "^\./home/\|^. " | sed "s,\./home,\.,g" | ${CROSS_TOOLS}/nbtoproto -b ${DESTDIR}/home -o ${IMG_DIR}/home.proto
if [ "x${ISOMODE}" = "x1" ]
# Clean image
if [ -f ${IMG} ] # IMG might be a block device
then
cp ${DESTDIR}/usr/mdec/boot_monitor ${CDFILES}/boot
cp ${MODDIR}/* ${CDFILES}/
. ${RELEASETOOLSDIR}/release.functions
cd_root_changes # uses $CDFILES and writes $CDFILES/boot.cfg
# start the image off with the iso image; reduce root size to reserve
${CROSS_TOOLS}/nbwriteisofs -s0x0 -l MINIX -B ${DESTDIR}/usr/mdec/bootxx_cd9660 -n ${CDFILES} ${IMG}
ISO_SIZE=$((`${CROSS_TOOLS}/nbstat -f %z ${IMG}` / 512))
else
# just make an empty iso partition
ISO_SIZE=8
rm -f ${IMG}
fi
#
# Generate /root, /usr and /home partition images.
#
echo "Writing Minix filesystem images"
ROOT_START=${ISO_SIZE}
echo " - ROOT"
_ROOT_SIZE=$((`${CROSS_TOOLS}/nbmkfs.mfs -d ${ROOTSIZEARG} -I $((${ROOT_START}*512)) ${IMG} ${IMG_DIR}/root.proto`/512))
echo "Writing disk image..."
ROOT_START=${BOOTXX_SECS}
echo " * ROOT"
_ROOT_SIZE=$(${CROSS_TOOLS}/nbmkfs.mfs -d ${ROOTSIZEARG} -I $((${ROOT_START}*512)) ${IMG} ${WORK_DIR}/proto.root)
_ROOT_SIZE=$(($_ROOT_SIZE / 512))
USR_START=$((${ROOT_START} + ${_ROOT_SIZE}))
echo " - USR"
_USR_SIZE=$((`${CROSS_TOOLS}/nbmkfs.mfs -d ${USRSIZEARG} -I $((${USR_START}*512)) ${IMG} ${IMG_DIR}/usr.proto`/512))
echo " * USR"
_USR_SIZE=$(${CROSS_TOOLS}/nbmkfs.mfs -d ${USRSIZEARG} -I $((${USR_START}*512)) ${IMG} ${WORK_DIR}/proto.usr)
_USR_SIZE=$(($_USR_SIZE / 512))
HOME_START=$((${USR_START} + ${_USR_SIZE}))
echo " - HOME"
_HOME_SIZE=$((`${CROSS_TOOLS}/nbmkfs.mfs -d ${HOMESIZEARG} -I $((${HOME_START}*512)) ${IMG} ${IMG_DIR}/home.proto`/512))
echo " * HOME"
_HOME_SIZE=$(${CROSS_TOOLS}/nbmkfs.mfs -d ${HOMESIZEARG} -I $((${HOME_START}*512)) ${IMG} ${WORK_DIR}/proto.home)
_HOME_SIZE=$(($_HOME_SIZE / 512))
#
# Write the partition table using the natively compiled
# minix partition utility
#
${CROSS_TOOLS}/nbpartition -m ${IMG} 0 81:${ISO_SIZE} \
81:${_ROOT_SIZE} 81:${_USR_SIZE} 81:${_HOME_SIZE}
${CROSS_TOOLS}/nbpartition -m ${IMG} ${BOOTXX_SECS} 81:${_ROOT_SIZE} 81:${_USR_SIZE} 81:${_HOME_SIZE}
${CROSS_TOOLS}/nbinstallboot -f -m ${ARCH} ${IMG} ${DESTDIR}/usr/mdec/bootxx_minixfs3
mods="`( cd ${MODDIR}; echo mod* | tr ' ' ',' )`"
if [ "x${ISOMODE}" = "x1" ]
then
echo "CD image at `pwd`/${IMG}"
else
echo "To boot this image on kvm:"
echo "cd ${MODDIR} && qemu-system-i386 --enable-kvm -m 256 -kernel kernel -append \"rootdevname=c0d0p1\" -initrd \"${mods}\" -hda `pwd`/${IMG}"
fi
echo "Disk image at `pwd`/${IMG}"
echo "To boot this image on kvm:"
echo "cd ${MODDIR} && qemu-system-i386 --enable-kvm -m 256 -kernel kernel -append \"rootdevname=c0d0p0\" -initrd \"${mods}\" -hda `pwd`/${IMG}"

View file

@ -119,12 +119,17 @@ USETOOLS?= never
MACHINE:= i386
. endif
# LSC FIXME: On a native ARM system MACHINE_ARCH is earmv7 instead of earm...
. if !empty(${MACHINE_ARCH:Mearm*})
. if !empty(MACHINE_ARCH:Mearm*)
MACHINE_ARCH:= earm
. endif
. endif # !defined(HOSTPROG) && !defined(HOSTLIB)
.endif # __uname_s == "Minix"
# LSC FIXME: RELEASEMACHINEDIR is set to evbarm, instead of evbearm-el
.if !empty(MACHINE:Mevbarm*)
RELEASEMACHINEDIR:= evbearm-el
.endif
.if ${HAVE_GCC:Dyes} == "yes" || \
(${MKGCCCMDS:Uno} == "yes" && ${MKLLVM:Uyes} == "no")
# We are building with GCC, means we cannot build LIBCXX, and need LIBSTDCXX

View file

@ -353,8 +353,8 @@ str_press_key: .asciz "\r\nPress any key to boot from CD"
str_dot: .asciz "."
str_read_error: .asciz "Can't read CD"
str_no_pvd: .asciz "Can't find Primary Volume Descriptor"
str_no_loader: .asciz "Can't find /boot"
str_loader: .asciz "BOOT.;1"
str_no_loader: .asciz "Can't find /minixboot"
str_loader: .asciz "MINIXBOOT.;1"
/* Used to calculate free bytes */
free_space = end - .