stuck /etc/rc autoboot processes

Sergey Kandaurov pluknet at gmail.com
Wed Dec 28 10:53:47 UTC 2011


On 28 December 2011 14:45, Damien Fleuriot <ml at my.gd> wrote:
>
>
> On 12/28/11 10:46 AM, Damien Fleuriot wrote:
>>
>>
>> On 12/27/11 10:22 PM, Jeremy Chadwick wrote:
>>> On Tue, Dec 27, 2011 at 07:46:52PM +0100, Damien Fleuriot wrote:
>>>> Hello list,
>>>>
>>>> Yesterday and today, I've been busy either patching boxes for the BIND
>>>> advisory that we received on the 23rd (when they were running 8.1 or
>>>> 8.2-RELEASE), or upgrading them (when running 8.0-RELEASE).
>>>>
>>>>
>>>> Today I've come across 2 boxes running 8.2-STABLE and of course, the
>>>> BIND patch wouldn't apply correctly.
>>>>
>>>> I've decided to cvsup them to 8.2-RELEASE and "upgrade" them to it.
>>>
>>> Why cvsup and not csup?
>>>
>>
>> You're correct, and I indeed used csup from the base system.
>>
>>
>>> Secondly, and more importantly, when upgrading to a different tag (e.g.
>>> you were using RELENG_8_0 before, moving to RELENG_8 or RELENG_8_2 --
>>> you don't really explain in a coherent way what you did, you've
>>> mentioned 4 different FreeBSD versions above :-) ), I tend to do the
>>> following:
>>>
>>
>> Indded I've mentionned quite a few versions, because I had to patch
>> and/or upgrade many of them over the last few days.
>>
>> They all went well, because most machines either didn't need upgrading
>> (only BIND's patch), or were running 8.2-PRERELEASE or 8.0-RELEASE so I
>> could upgrade them just fine.
>>
>> /usr/src/UPDATING didn't yield any warning so I went ahead.
>>
>>
>>
>> The "upgrade" that troubles me with these stuck processes is 8.2-STABLE
>> down to 8.2-RELEASE-p5.
>>
>> For this as well, I have not seen anything in UPDATING.
>>
>>
>>> rm -fr /usr/obj/*
>>> rm -fr /var/db/sup/src-all
>>> rm -fr /usr/src/*
>>> csup ...
>>>
>>
>> That's a goood idea, I'll note that down.
>>
>> Are you sure about removing /usr/src/* ?
>>
>> I usually cd there and make update, without the Makefile it's gonna be
>> tricky.
>>
>>
>>> The problem I've seen is that "some" source bits manage to figure out
>>> that they need to be updated to a different version based on the release
>>> tag in the cvsup/csup configuration file, but sometimes this doesn't
>>> work quite right and the underlying source files in /usr/src end up
>>> getting "mix-matched" between two versions.
>>>
>>> You may want to do this for ports as well, e.g.:
>>>
>>> rm -fr /var/db/sup/ports-all
>>> rm -fr /usr/ports/*
>>> csup ...
>>>
>>> It gets more tricky assuming during your original FreeBSD installation
>>> you chose to install src and ports.  The below is the cvsup FAQ, but it
>>> applies to csup too.  Read items 11, 12, and 13.
>>>
>>> http://www.cvsup.org/faq.html#caniadopt
>>>
>>
>> These boxes date back 1.5 year now and I don't remember how I installed
>> them.
>>
>> I think it was sysinstall so yeah, sources + ports at the time.
>>
>>
>>> Welcome to why I never bother to install src or ports from CD/DVD, I
>>> simply use csup once the system is up.  And for changing tags/releases,
>>> I do what's described above.
>>>
>>>> I've gone through the following steps:
>>>> - make buildworld
>>>> - make buildkernel
>>>> - make installkernel
>>>> - nextboot -k my new kernel, to ensure it worked fine
>>>> - rebooted again with the new kernel, this time correctly installed as
>>>> /boot/kernel
>>>> - installed the world
>>>> - run mergemaster -FiPU
>>>> - rebuild ports
>>>
>>> This doesn't look correct.  The process you should be following is
>>> documented plainly in /usr/src/Makefile.  You're missing some steps.
>>>
>>> Try doing what I recommended above, and following what's in
>>> /usr/src/Makefile, and then see if things improve.
>>>
>>
>> I'm reading through it now, the only steps I haven't run seem to be
>> delete-old and delete-old-libs.
>>
>> I'll try that removing all /usr/src/ , /usr/obj/ , csuping again and
>> redoing the steps including the removals.
>
>
>
> Ok so, for information.
>
> I've tracked this down to "Local package initialization:" stuck
> indefinitely at boot.
>

To go further you can add rc_debug="YES" to /etc/rc.conf
and/or set -x in /etc/rc.

-- 
wbr,
pluknet


More information about the freebsd-stable mailing list