Recebi um mensagem sobre o novo a versão 7.1 estar finalmente pronta na lista da FUGBR (FreeBSD User Group)nesse fim de semana. Meu cvsup não mostrou nada de novo.
Após uma olhada mais detalhada, vi que faltava alterar o arquivo de configuração para:
*default release=cvs tag=RELENG_7_1
Isso foi suficiente para baixar a versão 7.1 completa (eu estava com a versão 7 STABLE anteriormente). Já no UPDATES, pude verificar:
20090106: FreeBSD 7.1-RELEASE
O engraçado foi que atualizei via cvsup no dia 03. Mas enfim... fiz um make world e...
Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988,
1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.1-RELEASE #23: Sat Jan 3 23:41:26 BRST 2009
Hoje, dia 5, recebi a mensagem de release da versão 7.1:
Date: Sun, 4 Jan 2009 23:29:51 -0500
From: Ken Smith <This email address is being protected from spambots. You need JavaScript enabled to view it. >
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: [FreeBSD-Announce] FreeBSD 7.1-RELEASE Available
The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 7.1-RELEASE. This is
the second release from the 7-STABLE branch which improves on the functionality of FreeBSD 7.0 and introduces
some new features.
Some of the highlights:
- The ULE scheduler is now the default in GENERIC kernels for amd64 and i386 architectures. The ULE scheduler
significantly improves performance on multicore systems for many workloads.
- Support for using DTrace inside the kernel has been imported from OpenSolaris. DTrace is a comprehensive
dynamic tracing framework.
- A new and much-improved NFS Lock Manager (NLM) client.
- Boot loader changes allow, among other things, booting from USB devices and booting from GPT-labeled devices
- The cpuset(2) system call and cpuset(1) command have been added, providing an API for thread to CPU binding
and CPU resource grouping and assignment.
- KDE updated to 3.5.10, GNOME updated to 2.22.3.
- DVD-sized media for the amd64 and i386 architectures
For a complete list of new features and known problems, please see the online release notes and errata list, available at:
http://www.FreeBSD.org/releases/7.1R/relnotes.html
http://www.FreeBSD.org/releases/7.1R/errata.html
[...]
Eu até agora não notei muita diferença, uma vez que já tinha alterado o escalonador pra ULE desde a instalação do 7.0, mas aparentemente os travamentos no boot, ao iniciar o dual-core via ACPI, pararam.
Somente um "quote" enviado à lista do FreeBSD. Release 7.1 chegando logo.
Ken Smith kensmith at cse.Buffalo.EDU
Sat Sep 13 18:39:47 UTC 2008
The FreeBSD 7.1-BETA and 6.4-BETA builds are now available on the FreeBSD FTP mirror sites. This is the first step in
the release process for FreeBSD-7.1 and FreeBSD-6.4. This set of builds do not include pre-built packages. The ISOs
are available from:
ftp://ftp.freebsd.org/pub/FreeBSD/releases/${arch}/ISO-IMAGES/7.1/
ftp://ftp.freebsd.org/pub/FreeBSD/releases/${arch}/ISO-IMAGES/6.4/
where $arch is one of alpha, amd64, i386, ia64, pc98, powerpc, or sparc64. For the Tier-2 architectures ia64 and
powerpc only the 7.1-BETA builds are available. For the Tier-2 architecture alpha only the 6.4-BETA builds are
available. We encourage people to help out with the testing. Problems can be reported through Gnats or on the
freebsd-stable at freebsd.org mailing list. At this point we expect the 6.4-RC1 builds to start in about two weeks, and
the 7.1-RC1 builds a week after that.
Do meu último "make buildworld":
|
Já estamos no 7.1-PRERELEASE (ao menos eu estou). Previsão do release final para 13 de Outubro, como pode ser visto aqui na lista oficial do freebsd.
Finalmente resolvi bater um pouco a cabeça e tentar habilitar a função de journaling em FreeBSD (um pouco movido pela inveja de ver isso funcionado em Linux, um pouco porque essa foi uma das "top" features do FreeBSD-7.0). O grande desafio foi fazer isso em um sistema já ativo. Já havia deixada uma partição livre, /dev/ad4s1h, com 360 MB livres, mas descobri que precisava de uma relação de partição/partição para ter o journaling ativado.
Meu disco usava a seguinte separação de slices:
Descobri que o sistema de label de slices do BSD ainda mantém a limitação de 8 slices por partição, o que restringe somente ao uso das letras a-h. Com isso esgotado, as alternativas de criar ad4s1i, ad4s1j e assim por diante, impossível.
Buscando na rede, descobri que a forma de fazer isso seria atribuindo o tamanho total de disco a ser alterado para ad4s1h e depois aplicando o disklabel sobre o mesmo, na forma "disklabel -e ad4s1h", onde novamente a letras de a-h estão disponíveis. Com isso, criei os labels ad4s1ha, ad4s1hb, ad4s1hc, ad4s1hd, ad4s1he, ad4s1hf e ad4s1hg, para cada um corresponder ao seu journal, com 50MB.
O passo seguinte foi criar e ativar o journal. Seguindo a man page, gjournal (8), segui os passos como abaixo (após o boot em single mode):
gjournal load gjournal label -f ad4s1d ad4s1hd
gjournal label -f ad4s1e ad4s1he
gjournal label -f ad4s1f ad4s1hf
gjournal label -f ad4s1g ad4s1hg
tunefs -J enable -n disable ad4s1d.journal
tunefs -J enable -n disable ad4s1e.journal
tunefs -J enable -n disable ad4s1f.journal
tunefs -J enable -n disable ad4s1g.journal
Fiz as alterações correspondentes no /etc/fstab:
/dev/ad4s1b none swap sw 0 0
/dev/ad4s1a / ufs rw 1 1
/dev/ad4s1f.journal /home ufs async,rw 2 2
/dev/ad4s1d.journal /tmp ufs async,rw 2 2
/dev/ad4s1g.journal /usr ufs async,rw 2 2
/dev/ad4s1e.journal /var ufs async,rw 2 2
linprocfs /compat/linux/proc linprocfs rw 0 0
proc /proc procfs rw 0 0
O primeiros boot falharam devido ao fato de que "gjournal load" não existe em nenhum ponto do rc.conf. Fiz uma alteração em "/etc/rc.d/fsck" para que isso funcionasse (linhas 30-32):
28 fsck_start()
29 {
30 # patch to force gjournal load
31 echo -n 'Load gjournal (as patch): '
32 /sbin/gjournal load
33
34 if [ "$autoboot" = no ]; then
35 echo "Fast boot: skipping disk checks."
Ainda não descobri como ativar a partição raiz, "/", com journaling também, mas só o fato de ter feito isso com a demais já fez muita diferença: o sistema ficou muito mais rápido.
Cansado de ver as mensagens surgindo o tempo todo:
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C)
Fiz uma alteração nessa parte do ACPI e removi a mensagem. Acho que não vai fazer muita falta mesmo...
--- /usr/src/sys/dev/acpica/acpi_thermal.c-original 2008-06-08 17:38:40.000000000 -0300
+++ /usr/src/sys/dev/acpica/acpi_thermal.c 2008-06-08 17:39:27.000000000 -0300
@@ -677,8 +677,10 @@
acpi_tz_sanity(struct acpi_tz_softc *sc, int *val, char *what) {
if (*val != -1 && (*val < TZ_ZEROC || *val > TZ_ZEROC + 2000)) {
+ /* device_printf(sc->tz_dev,
"%s value is absurd, ignored (%d.%dC)\n",
what, TZ_KELVTOC(*val));
+ */ *val = -1;
}
}