]> Zhao Yanbai Git Server - minix.git/commitdiff
Clearing history in docs/UPDATING
authorLionel Sambuc <lionel@minix3.org>
Fri, 1 Aug 2014 12:58:40 +0000 (14:58 +0200)
committerLionel Sambuc <lionel@minix3.org>
Fri, 1 Aug 2014 12:58:40 +0000 (14:58 +0200)
As the ABI breaks everything, there is no point to keep the full source
upgrade documentation tweaks preceding the merge.

Change-Id: I1d5dcc7a7586e6aabd6b671dc2693f4fc9c5391c

docs/UPDATING

index d45b6a93bcb0de1f21bb2116cb4d058ca85ee0b7..c3f237f701c02e2ffcbddc90ed2eab6fec5cf19d 100644 (file)
-20130711:
-       Texinfo needs itself to generate its manual pages. As it is not
-       yet installed on the system it fails to find the default makeinfo
-       tool. So we have to first compile it, then install it will specifying 
-       the full path to makeinfo (Both commands have to be run, in the given 
-       sequence):
-
-       # make -C gnu/usr.bin/texinfo all
-       # make -C gnu/usr.bin/texinfo all install TOOL_MAKEINFO=/usr/src/gnu/usr.bin/texinfo/makeinfo/makeinfo
-
-20130422:
-       The ARM build no longer requires you to build as root user you
-       therefore need to wipe (or chmod) your build generated files 
-       and start building using the -U option of build.sh. 
-
-20130312:
-       /bin/ksh was imported and needs to be added to your /etc/shells.
-       Run this command to add it:
-
-       # echo "/bin/ksh" >> /etc/shells
-
-20130306:
-       For people building ARM images, the procedure has changed
-       a bit. You need a full FS to boot now. In short, you need
-       to use the new in-tree script to make a full SD image. See
-       http://wiki.minix3.org/en/DevelopersGuide/MinixOnARM
-       for details.
-
-20130201:
-       Replace our native ln with NetBSD version.
-
-       As our native ln is a hard link to cp, simply overwriting ln with
-       the new version would cause mv, cp, etc to stop working.
-
-       Do this BEFORE a 'make build':
-
-       # rm /bin/ln
-       # cp /bin/cp /bin/ln
-
-       Then 'make build' as usual.
-
-20130130:
-       With the shell update, and following update of 'test', some
-       modifications are needed in .profile and .ashrc.
-       If you use the defaults, simply execute the following for all
-       of your users:
-
-       # cp etc/ast/.ashrc ~/
-       # cp etc/ast/.profile ~/
-
-20130114:
-       The terminfo update is also linked to the databases functions,
-       which means the tool used to generate the termcap entries has to
-       be rebuild with the new libraries before creating a valid 
-        terminfo DB. To resolve this issue we have to do two (2) full 
-       build of the system. The simplest is to do the following:
-
-       # make build && make build && reboot 
-       
-20121207:
-       The join and lorder tools have been upgraded. Build them first:
-
-       # make -C usr.bin/lorder clean all install
-       # make -C usr.bin/join clean all install
-       # make -C usr.bin/tic clean all install
-       # make -C usr.bin/nbperf clean all install
-
-       Then do a "make build".
-
-20121205:
-       Following the terminfo update, some new tools are now used during 
-       the build. Execute the following to install them:
-       # make -C usr.bin/nbperf all install
-       # make -C usr.bin/lorder all install
-       # make -C usr.bin/join all install
-       # make -C usr.bin/tic all install
-
-20121205:
-       The tsort tool has been also upgraded and is now also used during
-       the build:
-       # make -C usr.bin/tsort all install
-       # cp share/mk/* /usr/share/mk
-
-20121205:
-       lorder requires a newer version of sort, so to ensure it is present
-       do the following:
-       # make -C usr.bin/sort clean all install
-
-20121127:
-       /etc/mtab is now obsoleted by /proc/mounts. You need to create a
-       symlink:
-
-       # rm /etc/mtab
-       # ln -s /proc/mounts /etc/mtab
-
-20121116:
-       To make the build system less verbose:
-
-       # cp /usr/src/etc/make.conf /etc
-
-20121115:
-       Before your first native build you need to update /usr/share/mk.
-       # rm /usr/share/mk/*
-       # cp /usr/src/share/mk/* /usr/share/mk
-       
-       With the update, it is now recommended to use the following make
-       targets :
-       - "build" (i.e., make build) instead of "world", which is now obsoleted.
-       
-       There is some differences between make build and make world. namely:
-       - make build is NOT automatically followed by make etcforce.
-       - make build is by default preceded by a make clean, to prevent that
-         use the following command:
-         # make build MKUPDATE=yes
-       
-       It is now possible to crosscompile minix on minix, if you have 
-       not already followed the previous steps, you will need to do the
-       following before using the build.sh script:
-       # make etcforce
-
-20120927:
-       Building a new boot image requires the current mkfs.mfs.
-       # make -C usr.sbin/mkfs.mfs clean all install
-
-20120703:
-       The device manager(devman) is now started automatically during the 
-       mount -a operation.  As fstab is generated during installation it is 
-       required to manually insert the following entry in fstab. Failing to 
-       do so will result in the devmand daemon to be able to open the events 
-       file in /sys.
-
-       none  /sys  devman  rw,rslabel=devman 0 0
-
-20120608:
-       New install and mk files require the following steps:
-
-       # cp /usr/src/share/mk/*.mk /usr/share/mk
-       # cd /usr/src
-       # make -C usr.bin/xinstall all
-       # cp usr.bin/xinstall/xinstall /usr/bin/install
-       # rm /bin/install
-
-       then do
-       # make clean world
-
-20120510:
-       WARNING: the shared libraries major revision set to 0 will break
-       existing dynamically linked binaries if they exist.
-
-       There are two risks. One: existing binaries won't find the current
-       libraries; two: linking binaries with both majors present will link
-       them in twice. So the previous libraries have to be removed.
-
-               . re-build world statically first if necessary
-               . remove libraries from /lib and /usr/lib
-               . then build world
-
-20120416:
-       Upgrade your clang to clang-2.9nb6 or clang-3.1nb3 to be able to
-       build shared libraries and dynamically linked executables. The
-       system will keep working without them, but a dynamic-capable
-       system will be a requirement soon.
-
-20120413:
-       Boot loader menu now has an option to boot into single user mode. To
-       get the menu option do:
-
-       # cp /usr/src/etc/boot.cfg.default /etc
-       # update_bootcfg
-
-20120402:
-       an installed genassym is required to build the kernel:
-       # make -C usr.bin/genassym install     
-
-20120328:
-       The boot loader now defaults to 115200 baud rate to make booting over
-       serial more pleasant. To install the new boot loader do
-
-       # cd /usr/src/sys
-       # make clean install
-       # updateboot
-
-       To boot over serial add the following to /etc/boot.cfg.local (create
-       the file if not present):
-       menu=Start latest serial MINIX 3:load_mods /boot/minix_latest/mod*;multiboot /boot/minix_latest/kernel rootdevname=c0d0p0s0 cttyline=0 cttybaud=115200
-       consdev=com0
-
-       To install the new boot configuration run
-
-       # update_bootcfg
-
-20120306:
-       The base system only looks in /usr/pkg/compiler-rt/lib now, so
-       -L/usr/pkg/lib is gone.
-       Please make sure you have the latest compiler-rt package
-       installed.
-
-20120214:
-       Compiling everything with clang (previous entry) depends on a
-       relatively new clang package. Please make sure you have at
-       least clang-2.9nb3 installed. The symptom of an old clang being 
-       used is an assert(inited) firing, e.g. after rebuilding make.
-
-20120214:
-       Full switch to clang/ELF. ack is no longer supported.
-
-       clang is the ELF-generating compiler in the base system, gcc is
-       available as a package.
-
-       To boot ELF-format images, either reinstall your whole system,
-       thereby getting the netbsd-based boot loader, or use the boot
-       monitor as documented at
-               http://wiki.minix3.org/en/UsersGuide/BootMonitor
-
-       Single copies of ELF boot files are also stored in /boot on
-       make hdboot as a boot monitor compatability measure. In short,
-       to boot the ELF image in /boot using the boot monitor,
-       do "mb=1" and "kernel=/boot/kernel", then "boot" in the boot
-       monitor.
-
-       Workaround for header file timestamps causing perpetual recompiles:
-       # find /usr/pkg -name '*.h' | xargs touch
-
-       Now that CC is clang instead of ack (cc), the depend files will
-       be out of date, so to make world, do:
-       # make cleandepend clean world
-
-20120213
-       Replace VFS with AVFS
-
-       In case you were running AVFS by doing
-       'BUILDAVFS=yes make clean world', you now have to do a
-       'make clean cleandepend world' instead of a normal 'make clean world'.
-
-20120202
-       Rename installboot to installboot_minix.
-
-       Do this BEFORE a 'make world':
-       # rm -f /usr/bin/installboot /usr/sbin/installboot
-       # make -C boot/installboot clean install
-       # make -C usr.sbin/installboot clean install
-       Then 'make clean world' as usual.
-
-20120119:
-       Follow up to previous entry. The same problem also exists for
-       the man pages.
-
-       Do this BEFORE a 'make world':
-       # rm /usr/man/man1/rm.1
-       # cp /usr/man/man1/cp.1 /usr/man/man1/rm.1
-       Then 'make clean world' as usual.
-
-20120112:
-       Replace our native rm and rmdir with NetBSD version.
-
-       As our native rm is a hard link to cp, simply overwriting rm with
-       the new version would cause mv, cp, ln, etc to stop working.
-
-       Do this BEFORE a 'make world':
-       # rm /bin/rm
-       # cp /bin/cp /bin/rm
-       Then 'make clean world' as usual.
-
-20111222:
-       This update requires /etc/fstab having the new format.
-
-       The latest mkfs.mfs and fsck.mfs must be installed in
-       /sbin when building a new image, and booting with the new mfs,
-       and the new system rc script must be installed that invokes the new
-       fsck driver.
-
-       Do this BEFORE a 'make world':
-       # make clean etcfiles etcforce includes libraries
-       # make -C commands/mkfs.mfs clean install
-       # make -C commands/fsck.mfs clean install
-       Then 'make clean world' as usual.
-
-20111212:
-       After a successful "make world", issue the following commands:
-       # cd /dev
-       # MAKEDEV fbd
-
-20111109:
-       Switch to NetBSD passwd system.
-
-       You have to bootstrap pwd_mkdb:
-       # make clean includes elf-libraries
-       # make -C usr.sbin/pwd_mkdb install
-
-       Now build world.  WARNING: this will blind your system to
-       /etc/shadow, making current user accounts vanish. Updating the
-       group file is necessary to add a 'users' group so the new stock
-       useradd will work.
-
-       # make clean world
-       # cp etc/group /etc/group
-
-       The new shadow file is /etc/master.passwd.  Add your old user
-       accounts back with useradd(8), groups with groupadd(8), and
-       set a root pw with passwd(1) if you want.  Use vipw(8) to edit
-       /etc/master.passwd if you want. See useradd(8) to get started
-       with the new pw format. Test your new system now by logging in.
-
-       Once you're satisfied your new system works, remove the old
-       adduser, and rely exclusively on the new useradd and
-       master.passwd.
-       # rm /usr/bin/adduser
-       # mv /etc/shadow /etc/shadow.orig
-
-       pwdauth is updated so that current binaries (e.g. sshd) will
-       work with the new pw db.
-
-       By default your new users are in the 'users' group. Add yourself
-       to the 'operator' group if you want to be able to su without
-       typing in the password.
-
-20111109:
-       fstab format change. /etc/rc reads both formats for a while.
-       Please convert your /etc/fstab to the new format though as
-       the system will assume the new format in the future.
-
-       A helper script is in etc/. Example:
-       # sh etc/newfstab.sh /etc/fstab >newfstab
-       (Don't redirect to /etc/fstab directly as the shell will
-       truncate it before it can be read.)
-
-20110928:
-       Update your /usr/etc/daily and /etc/man.conf if you
-       want to fully enjoy the manpage fixes.
-
-20110817:
-       To use the new asynchronous version of VFS do:
-       # BUILDAVFS=yes make cleandepend world
-
-       To switch back to the normal VFS do:
-       # make cleandepend world
-
-       By default the old VFS and PFS are built and included in the boot
-       image. AVFS is a work in progress and not yet mature. Use at your own
-       risk.
-20110722:
-       To install the new mkdep:
-       # cp /usr/bin/mkdep /usr/bin/ackmkdep
-       # make elf-libraries
-       # cd usr.bin/mkdep
-       # touch findcc.d mkdep.d .depend
-       # make install
-
-20110716:
-       To install libterminfo and terminfo database, you need 
-       the new stat:
-       # cd /usr/src/usr.bin/stat
-       # make clean install
-
-       You must create a directory /usr/share/terminfo for terminfo database
-       to be installed. 
-       # make -C etc install
-
-       Then make clean world as normal.
-
-20110708
-        * VFS and installed MFSes must be in sync before and after this change *
-
-       You must update the GNU headers.
-       # cd /usr/src
-       # make gnu-includes
-
-       You must rebuild both MFS and VFS (including those one in the image).
-       Either make world or do the following:
-       # cd /usr/src/servers/mfs
-       # make install
-       # cd /usr/src/servers/vfs
-       # make install
-       # cd /usr/src/tools
-       # make hdboot
-       # shutdown -r now
-
-20110701:
-       # rm -rf /usr/include /usr/netbsd
-       # make etcfiles includes cleandepend depend gnu-includes
-
-        DOWNGRADING:
-         Important: this automatically updates your /usr/lib/descr,
-         something you will have to revert manually if you
-         want to go back a revision! Previous to this
-         revision, you do this by:
-         # cp commands/acd/acd.descr /usr/lib/descr
-         Repeating the above commands to make sure your /usr/include
-         is re-acked is probably a good idea too for going back revisions.
-
-       This change moves 
-               1. /usr/include to /usr/include.ack
-               2. /usr/netbsd/include to /usr/include
-
-       Reduce compiler cases to only two:
-               1. ack, a.out, minix headers (moved to /usr/include.ack),
-                  minix libc
-               2. gcc/clang, elf, netbsd headers (moved to /usr/include),
-                  netbsd libc (moved to /usr/lib)
-
-       So this obsoletes the /usr/netbsd hierarchy.
-
-       There are no specific UPDATING instructions, but you should know
-       that starting with this version, gcc/clang use the netbsd libc and
-       headers system exclusively, and those files are in the standard
-       locations now. It's the first step to switching completely and
-       simplifying building.
-
-20110629:
-       Rebuild m4:
-       make -C usr.bin/m4 install
-
-20110629:
-       You must install clang. By default, it is used to build the
-       elf libraries and some userland utilities.
-
-20110628:
-       Since buildworld will also build the elf-libraries, you
-       must follow the process in
-       http://wiki.minix3.org/en/UsersGuide/ELFSwitch
-
-20110624:
-       (Next release bumped to MINIX 3.2.0.)
-       ELF support in the base system. /usr/lib libraries
-       will be in ELF format once you upgrade.
-       These were know as 'gcc format', but now more properly refered
-       to as 'elf format,' as they are shared between gcc and clang.
-       To start producing ELF, please see:
-       http://wiki.minix3.org/en/UsersGuide/ELFSwitch
-
-        To create the /usr/netbsd hierarchy:
-       # cd /usr/src
-       # umount /proc
-       # make etcfiles
-       # mount -e -t procfs none /proc
-
-20110225:
-       Create ddekit include dirs:
-       mkdir -p /usr/include/ddekit/minix
-
-20100921:
-       gcc format libraries are created in /usr/lib now, 
-       so throw out /usr/gnu/lib/ if you want to make sure you
-       don't pick up the old ones.
-       (with pkgsrc and this, all of /usr/gnu is obsolete now.)
-
-20100914:
-       mkdir /proc
-       chmod 555 /proc
-
-20100827:
-       From now on, the rc scripts, recovery scripts and system.conf in /etc
-       and /usr/etc are updated automatically by make world. If you want to
-       change them, do so in the source tree. If you make changes to your
-       settings in /etc and /usr/etc, merge them into the the source tree
-       before issuing a make world.
-
-20100805:
-       mkfs and fsck have been renamed to mkfs.mfs and fsck.mfs, respectively.
-       Moreover, they have been moved to /sbin, which is by default not in
-       PATH. Edit your .ashrc (or equivalent) to also include /sbin in PATH.
-       Also, first issue a 'make commands' before building world.
-
-20100802:
-       /usr/src/etc/system.conf updated to include ext2 file server: copy it
-       (or merge it) to /etc/system.conf.
-
-20100719:
-       If you installed using a 3.1.6 image (or earlier) and haven't updated 
-       the boot monitor since r6246 you need to do so now:
-       cd /usr/src/boot; make install; sh updateboot.sh
-
-20100714:
-       mknod /dev/uds c 18 0
-       chmod 666 /dev/uds
-
-20100713:
-        /usr/src/etc/rc updated: copy it (or merge it) to /etc/rc.
-        /usr/src/etc/system.conf updated to include boot sys services: copy
-        it (or merge it) to /etc/system.conf.
-        *** WARNING ***: this change breaks binary compatibility with
-        old images. Use only newly compiled images (make clean world
-        the first time) or download and install the latest ISO.
-20100705:
-        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
-        /usr/src/etc/rc updated: copy it (or merge it) to /etc/rc.
-        Perform some cleanup (optional):
-        # rm -f /sbin/tty /sbin/log
-20100630:
-       protocol change between service and rs: be sure to compile commands
-       together with the system image and don't use the new userspace with
-       an old image (or vice versa); it is recommended to replace
-       /boot/image_big with the newly compiled image to keep option 1 in the
-       boot menu working.
-20100625:
-       /etc/mk has been moved to /usr/share/mk. You will need to
-       create /usr/share/mk manually.
-       # cp -r /usr/src/share/mk /usr/share/
-       # cd /usr/src; make -m /usr/share/mk world
-20100515:
-        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
-       /etc/inet.conf is now line-based; if you have hand-edited this file
-       before, then make sure that you do not have configurations in there
-       that span multiple lines.
-20100512:
-        yacc and lex updated
-       # make includes
-       # cd commands/yacc
-       # make depend all install
-       # cd commands/lex
-       # LEX=flex make depend all install
-20100506:
-        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
-20100410:
-        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
-        /usr/src/etc/rc updated: copy it (or merge it) to /etc/rc.
-20100408:
-        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
-20100318:
-        Gas2ack updates: Run 'make install' in commands/i386/gas2ack
-20100317:
-        /usr/src/etc/system.conf updated to ignore default kernel calls: copy
-        it (or merge it) to /etc/system.conf.
-        The hello driver (/dev/hello) added to the distribution:
-        # cd /usr/src/commands/scripts && make clean install
-        # cd /dev && MAKEDEV hello
-20100316:
-        /usr/man/man9 is required
-       # mkdir /usr/man/man9
-20100308:
-        Include directory reorganization:
-        # mv /usr/include/ibm /usr/include/i386
-        # ln -s /usr/include/i386 /usr/include/machine
-        Install(1) updates:
-        # cd commands/simple && make /bin/install
-20100303:
-        Gas2ack updates: Run 'make install' in commands/i386/gas2ack
-20100215:
-        Make(1) has been replaced: Run 'make install' in commands/make
-        Mkdep updates: Copy commands/scripts/mkdep.sh to /usr/bin/mkdep
-        Make(1) needs mkfiles: Copy files in etc/mk to /etc/mk
-        ACK update: Copy commands/i386/acd.descr to /usr/lib/descr
-        End.a renamed:
-           -Copy /usr/lib/i86/end.a to /usr/lib/i86/libend.a
-           -Copy /usr/lib/i386/end.a to /usr/lib/i386/libend.a
-           -Copy /usr/gnu/lib/end.a to /usr/gnu/lib/libend.a
-        Asmconv updates: Run 'make install' in commands/i386/asmconv
-20091212:
-        /etc/drivers.conf has been renamed to /etc/system.conf.
-        user "service" has been added to password file /etc/passwd.
-20091006 (r5422):
-       OSS requires an improved make to be compiled; run "make install"
-       in /usr/src/commands/make before running "make world".
-20070212 (r2751):
-       mkfs needs more memory to make an image; chmem it or do
-       # touch mkfs.c ; make /usr/bin/mkfs
-       in /usr/src/commands/simple.
-20070118:
-       drivers.conf has been updated to include an ACL for mfs. it has
-       to be installed before rebooting after an update of the mount command.
-20061222:
-       The archictecture-dependent/-independent split needs ARCH=<arch>
-       in /etc/make.conf, included by some Makefiles and sourced by
-       some shell scripts. To install it, type 'make install' in
-       src/etc, or simply copy the file over.
-20061222:
-       Install binaries in the right order because the new readdir
-       implementation and the new mount program are incompatible
-       with older kernels and the new kernels require the new mount.
-       # cd /usr/src
-       # make includes
-       # make libraries
-       # make cmds
-       # make depend
-       # cd /usr/src/tools
-       # make hdboot
-       # make install
-       # cd ..
-       # make install
-       Installing fails for boot. Reboot the system
-       # reboot -x 'unset image; boot'
-       Now install everything
-       # cd /usr/src
-       # make install
-20060818:
-       You need flex in your $PATH, which has become part of the base
-       system. This needs bigger binaries.
-       If you don't have flex yet, you can compile it first by doing:
-       # cp /usr/src/etc/binary_sizes* /etc
-       # binsizes big
-       # cd /usr/src/commands/flex-2.5.4
-       # sh build
+20140801:
+       As the ABI went under heavy changes it is not possible to do a source
+       upgrade (make build) between:
+               commit 7ebdb97a28234e0181f93a8b786331dda507482
+               Date:   Sun Feb 16 20:08:20 2014 +0000
+       and
+               commit f1deff716ea30b28693c16f8e48ba1a369e2e922
+               Date:   Thu Jul 31 18:36:24 2014 +0200
+
+       WARNING: Attempting to do so will break your system beyond repair, and
+                require a full reinstallation. You have been warned.