]> gitweb.fluxo.info Git - bootless.git/commitdiff
Splitting pt and en docs
authorSilvio Rhatto <rhatto@riseup.net>
Mon, 2 Sep 2013 02:43:31 +0000 (23:43 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Mon, 2 Sep 2013 02:43:31 +0000 (23:43 -0300)
index.mdwn
index.pt.mdwn [new file with mode: 0644]

index 969be3d984239c4f89e3eafa936304081cd68147..50769446f31114b11a8276206d51add5a71cc696 100644 (file)
@@ -1,11 +1,11 @@
 [[!meta title="Bootless: anti-tampering bootloader"]]
 
-**WARNING** - this pre-alpha software with portuguese-only docs!
+**WARNING** - this pre-alpha software with [portuguese-only docs](index.pt)!
 
-* Bootless é uma integração tecnológica que permite um computador criptografado a permanecer sem gerenciador de partida (bootloader), de modo que grampos em software sejam difícies de serem instalados.
-* O Bootless é um gerenciador de partida em software livre instalado numa mídia removível e utilizado para inicializar computadores.
-* É previsto suporte inicial para o sistema operacional Debian.
-* O Bootless atualmente usa a [Hydra Suite](https://git.sarava.org/?p=hydra.git;a=summary).
+* Bootless is a scheme allowing a computer with encrypted disk to stay without attached bootloader in order to make more difficult to tamper the initialization process.
+* Bootless is a bootloader installed in a removable media and used to initialize computers.
+* Initial support is targeted to Debian like operating systems.
+* Bootless currently used the [Hydra Suite](https://git.sarava.org/?p=hydra.git;a=summary).
 
 TODO
 ----
@@ -14,147 +14,11 @@ TODO
 - Setup issue tracker.
 - Add contact information.
 - Setup git-annex into the repository.
-- Split bootless script from hidra suite but preserve integration.
+- Split bootless script from hydra suite but preserve integration.
 - Add pre-built and signed images.
 
-Construindo um volume bootless
-------------------------------
-
-Primeiro, prepare o dispositivo:
-
-    export device=/dev/nome_do_dispositivo
-    export partition=numero_da_particao
-    mkfs.ext3 "$device""$partition"
-    mkdir /tmp/bootless
-    mount "$device""$partition" /tmp/bootless
-
-Clone o repositório bootless:
-
-    git clone ssh://exemplo.org/bootless.git /tmp/bootless/boot
-
-Se você já tiver uma cópia de trabalho na sua máquina, pode ser mais interessante clonar direto dela para economizar tempo e banda, mas certifique-se de atualizá-la antes. Se houver pouco espaço na pasta de destino, faça o clone usando a opção `--depth=1`.
-
-Em seguida, instale o GRUB no MBR do dispositivo, rodando `grub` e digitando em seu shell, substituindo o nome do dispositivo e da partição conforme apropriado:
-
-    root (hd1,1)
-    setup (hd1)
-
-Limpe a casa:
-
-    umount /tmp/bootless
-    rmdir /tmp/bootless
-
-Agora seu pendrive está pronto para reinicializar os nodos físicos :)
-
-Mantendo o repositório compacto
--------------------------------
-
-Apesar de ser um repositório `git` e portanto de fácil manutenção de uma árvore distribuída, o `bootless` sofre de um problema de espaço: a cada imagem binária adicionada ou removida, o histórico do repositório cresce muito. Para evitar que o repositório cresça muito e não caiba numa pequena partição de um pendrive, é preciso reconstruir sua história.
-
-Aqui segue um exemplo usando o `git-rebase` para agregar commits. Primeiramente, faça o rebase, juntando commits com 'squash' (vide referências):
-
-    git rebase -i COMMIT
-
-No caso, `COMMIT` é o commit inicial do repositório `bootless` que estamos usando. Em seguida, é preciso que o seu repositório local seja clonado pois só assim (!) é possível salvar espaço:
-
-    cd ..
-    mv bootless bootless.old
-    git clone bootless.old bootless
-    cd -
-    git gc --aggressive
-    git prune
-    cp ../bootless.old/.git/config .git/
-
-Dependendo da situação anterior, após esse processo o repositório pode diminuir bastante de tamanho. Um grande inconveniente desse processo é que ele agride a história de modo que as outras cópias do repositório precisam de uma força para serem atualizadas:
-
-    git push --force
-
-GRUB2
------
-
-Adaptei o bootless para o GRUB2 utilizando o mesmo repositório. Isso significa que:
-
-  * É possível utilizar o repositório do bootless tanto com o grub-legacy quanto com o grub2.
-  * O grub-legacy utiliza o arquivo `menu.lst` enquanto que o grub2 usa o `grub.cfg`. Ambos arquivos precisam ser mantidos atualizados enquanto ambas as versões do grub forem suportadas.
-
-No caso da instalação de um pendrive usando grub2, é necessário utilizar o seguinte comando de instalação ao invés de simplesmente invocar o `grub`:
-
-    grub-install --root-directory=/tmp/bootless $device --force
-
-Procedimento completo de exemplo:
-
-    export device=/dev/nome_do_dispositivo
-    export partition=numero_da_particao
-    mkfs.ext3 "$device""$partition"
-    mkdir /tmp/bootless
-    mount "$device""$partition" /tmp/bootless
-    git clone --depth=1 ssh://gitosis@exemplo.org/bootless.git /tmp/bootless/boot
-    grub-install --root-directory=/tmp/bootless $device
-    umount /tmp/bootless
-    rmdir /tmp/bootless
-
-Em casos emergencias pode ser muito útil usar o seguinte comando para gerar uma imagem bootavel:
-
-    grub-mkrescue -o bootless.img bootless/
-
-Versões específicas de kernel
------------------------------
-
-Às vezes pode ser necessário criar manualmente a initramfs após uma atualização de kernel (reparei isso em máquinas rodando Ubuntu). Abaixo, comando para atualizar o initramfs para uma versão específica de kernel:
-
-    update-initramfs -v -u -k 2.6.32-26-generic
-
-Hydra Suite
------------
-
-Criando o repositório:
-
-    hydra exemplo bootless init ssh://gitosis@exemplo.org/bootless.git
-    hydra exemplo bootless make /dev/sdb1
-    hydra exemplo bootless git pull
-    hydra exemplo bootless git commit -a
-
-Criando uma imagem:
-
-    hydra exemplo bootless image
-
-Isso criará o arquivo bootless.img na pasta atual. Para especificar um nome de arquivo distinto, use
-
-    hydra exemplo bootless image arquivo.img
-
-Para gerar a imagem e gravá-la simultaneamente numa mídia removível localizada em `/dev/sdb`, use
-
-    hydra exemplo bootless image arquivo.img /dev/sdb
-
-Se você quiser gerar uma imagem apenas para ser gravada em `/dev/sdb`, isto é, sem um arquivo.img sobrando, use
-
-    hydra exemplo bootless image /dev/sdb
-
-Customização
-------------
-
-Algo que vale a pena pensar para possíveis mudanças futuras no `bootless`: atualmente utilizamos uma nomenclatura única no `LVM` de todas as máquinas, o que permite compartilharmos a `initrd` entre os sistemas.
-
-Se utilizássemos nomes distintos para cada máquina, precisaríamos de uma `initrd` por sistema -- o que aumentaria muito o tamanho do repositório -- ou então ter alguma forma de customizar a imagem de inicialização para suportar esse esquema.
-
-Usar uma nomenclatura única simplifica a manutenção do bootless, porém pode complicar o gerenciamento de volumes, por exemplo quando quisermos abrir o disco de um servidor em outro.
-
-Temos três [alternativas](http://wiki.debian.org/InitrdReplacementOptions):
-
-  * [initramfs-tools](http://packages.debian.org/stable/initramfs-tools), que é utilizado atualmente.
-  * [yaird](http://packages.debian.org/sid/yaird), supostamente a ser utilizado no futuro.
-  * [dracut](http://packages.debian.org/stable/dracut), uma [outra possibilidade](https://lwn.net/Articles/317793/).
-
-É preciso fuçar na documentação desses softwares para saber como a montagem de volumes pode ser customizada.
-
-O arquivo conf.d/cryptroot das initrds usadas atualmente contém o seguinte: 
-
-    target=root,source=/dev/mapper/vg-root,key=none,rootdev,cipher=aes-cbc-essiv:sha256
-
-O ideal seria ter várias entradas nesse arquivo. Talvez seja o caso de estudar também o `/usr/share/initramfs-tools/hooks/cryptroot`.
-
-Referências
------------
+References
+----------
 
 Git:
 
@@ -175,7 +39,7 @@ Boot:
 - [Auto-booting and Securing a Linux Server with an Encrypted Filesystem](http://serverfault.com/questions/34794/auto-booting-and-securing-a-linux-server-with-an-encrypted-filesystem).
 - [Smartmonster](https://github.com/ioerror/smartmonster).
 
-Imagens:
+Images:
 
   * [How can I mount a disk image?](http://superuser.com/questions/344899/how-can-i-mount-a-disk-image).
   * [GRUB 2 - OSDev](http://wiki.osdev.org/GRUB_2): instalando o grub em várias mídias distintas.
diff --git a/index.pt.mdwn b/index.pt.mdwn
new file mode 100644 (file)
index 0000000..09a51e0
--- /dev/null
@@ -0,0 +1,149 @@
+[[!meta title="Bootless: gerenciador de partida anti-grampo"]]
+
+**ATENÇÂO** - este software se encontra em estágio pré-alfa!
+
+* Bootless é uma integração tecnológica que permite um computador criptografado a permanecer sem gerenciador de partida (bootloader), de modo que grampos em software sejam difícies de serem instalados.
+* O Bootless é um gerenciador de partida em software livre instalado numa mídia removível e utilizado para inicializar computadores.
+* É previsto suporte inicial para o sistema operacional Debian.
+* O Bootless atualmente usa a [Hydra Suite](https://git.sarava.org/?p=hydra.git;a=summary).
+
+TODO
+----
+
+- Vide documentação inglesa.
+
+Construindo um volume bootless
+------------------------------
+
+Primeiro, prepare o dispositivo:
+
+    export device=/dev/nome_do_dispositivo
+    export partition=numero_da_particao
+    mkfs.ext3 "$device""$partition"
+    mkdir /tmp/bootless
+    mount "$device""$partition" /tmp/bootless
+
+Clone o repositório bootless:
+
+    git clone ssh://exemplo.org/bootless.git /tmp/bootless/boot
+
+Se você já tiver uma cópia de trabalho na sua máquina, pode ser mais interessante clonar direto dela para economizar tempo e banda, mas certifique-se de atualizá-la antes. Se houver pouco espaço na pasta de destino, faça o clone usando a opção `--depth=1`.
+
+Em seguida, instale o GRUB no MBR do dispositivo, rodando `grub` e digitando em seu shell, substituindo o nome do dispositivo e da partição conforme apropriado:
+
+    root (hd1,1)
+    setup (hd1)
+
+Limpe a casa:
+
+    umount /tmp/bootless
+    rmdir /tmp/bootless
+
+Agora seu pendrive está pronto para reinicializar os nodos físicos :)
+
+Mantendo o repositório compacto
+-------------------------------
+
+Apesar de ser um repositório `git` e portanto de fácil manutenção de uma árvore distribuída, o `bootless` sofre de um problema de espaço: a cada imagem binária adicionada ou removida, o histórico do repositório cresce muito. Para evitar que o repositório cresça muito e não caiba numa pequena partição de um pendrive, é preciso reconstruir sua história.
+
+Aqui segue um exemplo usando o `git-rebase` para agregar commits. Primeiramente, faça o rebase, juntando commits com 'squash' (vide referências):
+
+    git rebase -i COMMIT
+
+No caso, `COMMIT` é o commit inicial do repositório `bootless` que estamos usando. Em seguida, é preciso que o seu repositório local seja clonado pois só assim (!) é possível salvar espaço:
+
+    cd ..
+    mv bootless bootless.old
+    git clone bootless.old bootless
+    cd -
+    git gc --aggressive
+    git prune
+    cp ../bootless.old/.git/config .git/
+
+Dependendo da situação anterior, após esse processo o repositório pode diminuir bastante de tamanho. Um grande inconveniente desse processo é que ele agride a história de modo que as outras cópias do repositório precisam de uma força para serem atualizadas:
+
+    git push --force
+
+GRUB2
+-----
+
+Adaptei o bootless para o GRUB2 utilizando o mesmo repositório. Isso significa que:
+
+  * É possível utilizar o repositório do bootless tanto com o grub-legacy quanto com o grub2.
+  * O grub-legacy utiliza o arquivo `menu.lst` enquanto que o grub2 usa o `grub.cfg`. Ambos arquivos precisam ser mantidos atualizados enquanto ambas as versões do grub forem suportadas.
+
+No caso da instalação de um pendrive usando grub2, é necessário utilizar o seguinte comando de instalação ao invés de simplesmente invocar o `grub`:
+
+    grub-install --root-directory=/tmp/bootless $device --force
+
+Procedimento completo de exemplo:
+
+    export device=/dev/nome_do_dispositivo
+    export partition=numero_da_particao
+    mkfs.ext3 "$device""$partition"
+    mkdir /tmp/bootless
+    mount "$device""$partition" /tmp/bootless
+    git clone --depth=1 ssh://gitosis@exemplo.org/bootless.git /tmp/bootless/boot
+    grub-install --root-directory=/tmp/bootless $device
+    umount /tmp/bootless
+    rmdir /tmp/bootless
+
+Em casos emergencias pode ser muito útil usar o seguinte comando para gerar uma imagem bootavel:
+
+    grub-mkrescue -o bootless.img bootless/
+
+Versões específicas de kernel
+-----------------------------
+
+Às vezes pode ser necessário criar manualmente a initramfs após uma atualização de kernel (reparei isso em máquinas rodando Ubuntu). Abaixo, comando para atualizar o initramfs para uma versão específica de kernel:
+
+    update-initramfs -v -u -k 2.6.32-26-generic
+
+Hydra Suite
+-----------
+
+Criando o repositório:
+
+    hydra exemplo bootless init ssh://gitosis@exemplo.org/bootless.git
+    hydra exemplo bootless make /dev/sdb1
+    hydra exemplo bootless git pull
+    hydra exemplo bootless git commit -a
+
+Criando uma imagem:
+
+    hydra exemplo bootless image
+
+Isso criará o arquivo bootless.img na pasta atual. Para especificar um nome de arquivo distinto, use
+
+    hydra exemplo bootless image arquivo.img
+
+Para gerar a imagem e gravá-la simultaneamente numa mídia removível localizada em `/dev/sdb`, use
+
+    hydra exemplo bootless image arquivo.img /dev/sdb
+
+Se você quiser gerar uma imagem apenas para ser gravada em `/dev/sdb`, isto é, sem um arquivo.img sobrando, use
+
+    hydra exemplo bootless image /dev/sdb
+
+Customização
+------------
+
+Algo que vale a pena pensar para possíveis mudanças futuras no `bootless`: atualmente utilizamos uma nomenclatura única no `LVM` de todas as máquinas, o que permite compartilharmos a `initrd` entre os sistemas.
+
+Se utilizássemos nomes distintos para cada máquina, precisaríamos de uma `initrd` por sistema -- o que aumentaria muito o tamanho do repositório -- ou então ter alguma forma de customizar a imagem de inicialização para suportar esse esquema.
+
+Usar uma nomenclatura única simplifica a manutenção do bootless, porém pode complicar o gerenciamento de volumes, por exemplo quando quisermos abrir o disco de um servidor em outro.
+
+Temos três [alternativas](http://wiki.debian.org/InitrdReplacementOptions):
+
+  * [initramfs-tools](http://packages.debian.org/stable/initramfs-tools), que é utilizado atualmente.
+  * [yaird](http://packages.debian.org/sid/yaird), supostamente a ser utilizado no futuro.
+  * [dracut](http://packages.debian.org/stable/dracut), uma [outra possibilidade](https://lwn.net/Articles/317793/).
+
+É preciso fuçar na documentação desses softwares para saber como a montagem de volumes pode ser customizada.
+
+O arquivo conf.d/cryptroot das initrds usadas atualmente contém o seguinte: 
+
+    target=root,source=/dev/mapper/vg-root,key=none,rootdev,cipher=aes-cbc-essiv:sha256
+
+O ideal seria ter várias entradas nesse arquivo. Talvez seja o caso de estudar também o `/usr/share/initramfs-tools/hooks/cryptroot`.