Estou usando Debian GNU/Linux já há cinco anos; andei pensando em testar um sistema BSD. Acabei escolhendo o DragonFly BSD para testar. É baseado no FreeBSD, e o time de desenvolvimento dele está testando alguns conceitos novos em SO. Apesar dos novos conceitos não estarem inteiramente implementados, já funciona bem, e pode ser interessante para aprender alguma coisa em programação de SOs, também.
Comecei a instalação do DragonFlyBSD. Dei boot com o live CD.
O instalador automático (logar como installer) não funcionou, então loguei como root mesmo e fiz a instalação manualmente. Segui o DragonFly Handbook e o README do CD, mais estes dois documentos:
http://www.neuronenwerk.de/files/cdinstall.html
http://www.samspublishing.com/articles/article.asp?p=32084&seqNum=5&rl=1
Abaixo está uma descrição resumida do que fiz. Se quiser acompanhar o que fiz com mais detalhes, sugiro que siga o README do CD no tópico “Instalação Manual” usando os outros documentos como referência.
Além disso, à medida em que fui precisando digitar os comandos, fui lendo as manpages dos comandos:
fdisk
disklabel
boot0cfg
Os sistemas BSD chamam partição de slices. Além disso, o esquema de divisão de disco usado pelos BSD admite a existência de “sub-partições” que são chamadas de partições. Logo, a nomenclatura é:
Outros sistemas: partição – sub-partição
BSDs: slices – partição
Para evitar confusões, daqui para a frente cada vez que usar os termos do BSD os porei entre aspas.
Notar que outros sistemas (Linux, Windows, etc.) não possuem o mesmo esquema de sub-partição que os BSD. Isto dá aos BSD a vantagem de usar apenas uma partição no disco, caso você queira usar mais de um sistema na mesma máquina como eu. A desvantagem é que a partição deve ser primária, pois os BSDs não acessam partições estendidas.
Voltando à minha instalação:
Usei o segundo “slice” do meu HD; como é um HD SATA ele é reconhecido no DF como ad6, logo a partição foi ad6s2.
Dentro do “slice”, criei apenas duas “partições”: uma para o root / e outra para o diretório /usr , diferente do que os documentos de instalação recomendam. Não quis criar uma “partição” /home pois queria tentar usar a mesma do Linux, nem criei uma “partição” para swap (também queria tentar usar a mesma do Linux para economizar espaço em disco; além do mais tenho 512MB de RAM, então imagino que a falta do swap em disco não faça muita diferença por enquanto). Logo, as duas “partições” que criei são ad6s2a e ad6s2f.
Segue a seqüência aproximada dOs comandos usados.
- Já havia dividido o disco com o fdisk do Linux, então não foi preciso usar o fdisk do DF. Apenas rodei um “fdisk -s ad6” para me certificar que estava tudo OK.
disklabel -B -r -w ad6s2 auto
disklabel -e ad6s2
Depois desse último comando, o editor vi aparece com uma arquivo-texto descrevendo as “partições” dentro do “slice” ad6s2. Editei mais ou menos como se segue:
# size offset fstype [fsize bsize bps/cpg]
a: 1073741824 0 4.2BSD
c: xxxxxxx 0 unused 0 0
f: * * 4.2BSD
Sendo que a linha c: já existia, apenas adicionei as outras. Dei 1G para a “partição” a: (/) e ~9G para f: (/usr). Segui as orientações na manpage do disklabel para saber como editar este arquivo (man 8 disklabel).- O passo seguinte de acordo com o README era criar os device nodes correspondentes às “slices” e “partições” recém-criadas:
cd /dev
./MAKEDEV ad6s2a
./MAKEDEV ad6s2f
No README o comando MAKEDEV vem indicado sem ./ na frente, e por isso não funciona. (no README está: cd /dev && MAKEDEV ad0s2a ) - Formatei os filesystems:
newfs /dev/ad6s2a
newfs -U /dev/ad6s2f mount /dev/ad6s2a /mnt
mkdir /mnt/usr
mount /dev/ad0s1f /mnt/usr- Copiei os arquivos para o destino:
cpdup / /mnt
cpdup /etc.hdd /mnt/etc
cpdup /dev /mnt/dev
cpdup /usr /mnt/usr - Limpeza da instalação:
chmod 1777 /mnt/tmp
rm -rf /mnt/var/tmp
ln -s /tmp /mnt/var/tmp - Renomeei /mnt/etc/fstab.example para /mnt/etc/fstab e alterei o arquivo para montar as “partições” que eu criei.
- Criei um backup do disklabel:
disklabel ad6s2 > /mnt/etc/disklabel.ad6s2
Nossa! Que complicação!
Ainda bem que installer funcionou pra mim. rsrsrs
A postagem era de 2006, o instalador deve ter melhorado bastante nesse tempo