Date: Sun, 15 Mar 2009 15:31:24 +0700 (ICT) From: Olivier Nicole <on@cs.ait.ac.th> To: freebsd-questions@freebsd.org Subject: Re: make installworld fails on RELEASE6.4 amd64 Message-ID: <200903150831.n2F8VOCW041210@banyan.cs.ait.ac.th> In-Reply-To: <200903141007.n2EA7tO6053641@banyan.cs.ait.ac.th> (message from Olivier Nicole on Sat, 14 Mar 2009 17:07:55 %2B0700 (ICT)) References: <200903141007.n2EA7tO6053641@banyan.cs.ait.ac.th>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, > I am facing a problem that I cannot solve when trying to reinstall > wolrd on 6.4 amd 64. More about this issue. RELEASE_6.4 i386 is imune of this problem. I did a make -d A installworld and it seems that it is all about /usr/obj/usr/src/sys/boot/i386/boot2/machine. It's a link to /usr/src/sys/i386/include. This directory is created at the first installation of FreeBSD. When CMOS clock is the wall clock and when one is located ahead of UTC (Thailand is UTC+7), during the first installation of a distribution, the machine boots with UTC=CMOS clock, hence creating the directory hierarchy 7 hours ahead of time. The link /usr/obj/usr/src/sys/boot/i386/boot2/machine is created by make buildworld, after the first boot of the newly installed system, after the time zone has been set, so it is created with the right time. If one does an installworld between the 7 hours interval, when installing /usr/src/sys/boot/i386/boot2, it detects that the directory /usr/src/sys/i386/include pointed by /usr/obj/usr/src/sys/boot/i386/boot2/machine is newer than the objects being installed, and it tries to rebuild the object. My wild guess is that on i386, make installworld looks at the modification date of the link /usr/obj/usr/src/sys/boot/i386/boot2/machine; while on amd64 make installworld looks at the modification date of the directory /usr/src/sys/i386/include pointed by the link. Hence the different behaviour. This is annoying for people leaving ahead of UTC, that will install a new distribution, cvsup the release, build and installworld, during the interval of 7 hours. I think that users behing UTC will not be affected. What I did is: during the installation of the distrubition I set back the CMOS clock to UTC time, and when FreeBSD was done installing from the CD, I reset the CMOS clock to the wall clock. It worked, but it's not very nice. I am curious to have experts opinion on the different behaviour of make regarding the modification date of the link /usr/obj/usr/src/sys/boot/i386/boot2/machine. Best regards, Olivier
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903150831.n2F8VOCW041210>