freebsd-update 6.2-R -> 6.3-B1 rollback failed

Miroslav Lachman 000.fbsd at quip.cz
Fri Jun 6 23:03:38 UTC 2008


Colin Percival wrote:
> Jan Henrik Sylvester wrote:
> 
>>>In short, as long as you don't build a custom kernel but call it
>>>"GENERIC" or
>>>"SMP", FreeBSD Update should automatically DTRT.
>>
>>That is exactly my question. On 6.2-RELEASE, I sometimes used a modified
>>ld-elf.so.1 or a single patched module without recompiling the kernel.
>>What does using freebsd-update (accidentally or deliberately) do in that
>>case?  By accident, I discovered that it does not always fail. Does it
>>skip the modified files, overwrite them with new versions, or overwrite
>>them with an unpredictable bdiff merge that is likely garbage?
> 
> 
> Depending on the UpdateIfUnmodified option in freebsd-update.conf, it will
> either update files to "clean" new versions or print a warning message and
> not touch them.
> 
> There's also an IgnorePaths directive which you can use to tell FreeBSD
> Update not to touch some files (even if they haven't been modified locally).
> 
> FreeBSD Update will never produce mangled files as a result of applying a
> bsdiff patch to the wrong file -- it checks file hashes before and after
> applying patches and gracefully falls back to downloading complete files
> if it can't generate a file via patching.

Is it possible to configure freebsd-update to not remove old kernel 
directory and just rename it to kernel.old or something else?
Two times I end up with unbootable machine (upgraded from 6.3 to 7.0 - 
7.x version kernel always hangs on this machine, even with CD boot) and 
then I must use bootable CD / flashdisk with old 6.x kernel to be able 
to run freebsd-update rollback.
It will be useful if one can choose to leave old kernel in boot 
directory to be able to boot it if something goes wrong.

Miroslav Lachman


More information about the freebsd-stable mailing list