segunda-feira, maio 15, 2006

USB Sem mistérios...

Pessoal, não só de perguntas vive um fórum, mas também das dicas que ele proporciona. Tenho tido tempo ultimamente e, portanto, resolvi fazer umas atualizações tanto no meu Blog, quanto no FórumGDH do qual participo desde 2001 (to ficando velho...) e o Portal Viva O LinUx.
A dica que vou dar é sobre um assunto um tanto quanto rebuscado: USB no LinUx.
--------------------------------------------------------------------------------------
O USB, como muitos já sabem, foi criado com o objetivo de facilitar a conexão de periféricos existentes para o computador: teclados, mouse, impressoras, etc. Todo os conectores de os dispositivos possuem dois tipos de conectores, sendo assim, não permitindo o encaixe inadequado deles, o que os torna simples de usar. Outra caracterísca marcante é o compartilhamento de banda entre os dispositivos.
-------------------------------------------------------------------------------------
Vamos ao que interessa!
Configurar uma controladora USB é bastante simples no LinUx. Primeiramente você tem de ter em mente basicamente os seguinte comandos: lspci e modprobe*.
*juntamente com esse comando importante de administração do sistema, você deve ter o conhecimento do rc.modules*(Slackware e BSD Like), ou /etc/modules.conf*(Distros SysVINIT)

Onde está e quem é a sua controladora?

daniel@stelth:~# lspci -vv |grep -i usb

A saída desse comando "vareia" de máquina pra máquina...

Nota::. Basicamente há dois tipos de controladora USB: Universal e Open. As controladoras Universal são identificadas como sendo USB-UHCI e as Open são identificadas como sendo USB-OHCI. Existem as USB-EHCI que usam o padrão 2.0, isto é, USB2.0. Maiores informações, Google

Indentificado o tipo de controladora, passemos para etapa seguinte.

Agora que eu sei quem é, como configurar?

Primeiro habilitar o módulo que trabalho com input de dados.
Para teclados e mouses...
daniel@stelth:~# modprobe hid
daniel@stelth:~# modprobe keybdev
daniel@stelth:~# modprobe mousedev

Dica::. caso não funcione o mouse no modo texto:
daniel@stelth:~# gpm -k ; gpm -t ps2 -m /dev/usbmouse0

Para WebCam...
Carregar o ov511.o...
daniel@stelth:~# modprobe ov511

Para impressoras...
daniel@stelth:~# modprobe printer

Importante::.. "Apontar" a impressora para o device /dev/usb/lp0

Espero ter contribuído de maneira significante.
Abraços!

sexta-feira, maio 05, 2006

Configurando Mysql no Slackware

Bem pessoal o grande propósito desse material é como configurar o mysql a distro utilizada foi o Slackware, mas estas configurações se aplicam em qualquer uma das demais distribuições. Não vou entrar em muitos detalhes de como instalar pois o propósito é ensinar como configurá-lo.

Se acaso você nao selecionou o mysql na hora da instalaçao você pode baixalo em:

MySQL: http://www.mysql.com/downloads/

Provavelmente se você selecionou o pacote do mysql na hora da instalação e ativou ele pra iniciar no boot você ira se deparar com a seguinte mensagem:

Starting mysqld daemon with databases from /var/lib/mysql
Welcome to Linux 2.4.22 (tty1)
postfix login: 040625 09:04:55 mysqld ended

Welcome to Linux 2.4.22 (tty1)

slackware login:


Logo que a gente de vê da até um negócio né mas vamos aprender agora como resolver esse pequeno problema !!!

Isso acontece por que o mysql ta procurando pelas GrantTables que na verdade ainda nao existem, nosso primeiro trabalho será cria-las vamos la então:

1 - Logue-se com o user mysql e siga os comandos a baixo:

su mysql

$ mysql_install_db
Preparing db table
Preparing host table
Preparing user table
Praparing func table
Praparing tables_priv table
Praparing columns_priv table
Installing all prepared tables
040625 12:23:26 /usr/libexec/mysqld: Shutdown Complete . . .

$ exit
# mysqld_safe --user=mysql&
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL

MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH
STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): [ENTER]

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.

Set root password? [Y/n] [Y] Y
New password: ( Digite aqui aquela que sera a sua senha )
Re-enter new password: ( Redigite a senha )
Password updated successfully!

Remove anonymous users? [Y/n] [Y]
Disallow root login remotely? [Y/n] [Y]

Remove test database and access to it? [Y/n] [Y]

Reload privilege tables now? [Y/n] [Y]
... Success!

Cleaning up...

O nosso próximo passo será alterar os arquivos de log do mysql aconselho indicar o dir padrão de todos os outros logs, no caso o /var/log/mysql/mysql.log

Mas pra que isso aconteça precisamos criar um arquivo dentro de /etc digite vi ou joe my.cnf e dentro dele insira o seguinte conteúdo:

[mysql.server]
datadir=/var/lib/mysql
socket=/var/run/mysql/mysql.sock

[mysqladmin]
socket=/var/run/mysql/mysql.sock

[mysqld]
datadir=/var/lib/mysql
socket=/var/run/mysql/mysql.sock
language=/usr/share/mysql/english/
log=/var/log/mysql/mysqld.log

[mysql]
socket=/var/run/mysql/mysql.sock

Agora vamos criar o arquivo de log e mudar a permissão:
# mkdir /var/log/mysql
# chown mysql:mysql /var/log/mysql
# chown mysql:mysql /var/lib/mysql

Feito isso vamos parar, dar um start e verificar os logs no mysql, para isso digite os seguintes comandos:

# killall mysqld
# /etc/rc.d/rc.mysqld start
# tail /var/log/mysql/mysqld.log

Prontinho pessoal seu mysql esta configurdo e pronto pra usar, pra acessar o mysql digite:

mysql -p senha_do_root

Lembrando que essa senha do root foi aquela que você alterou em um dos passos anteriores :

# mysql_secure_installation (lembram)

Valeu pessoal espero ter ajudado !!!!

Até a próxima !!!

terça-feira, maio 02, 2006

DICA - Criando vários arquivos...

Pessoal, essa dica vai para aqueles que necessitam, seja lá o porque, criarem vários arquivos de uma só vez. Eu postei a mesma dica no Viva o Linux e no Fórum GDH. Contudo, alguns amigos da comunidade livre postaram outras maneiras de se executar essa dica. Então aqui vai:
Eu escrevi...
Pessoal, aqui vai uma dica que demorei para descobrir como executar. É o seguinte: Volta e meia, preciso criar vários arquivos de uma só vez. Última vez, estava criando uma rotina para fazer o download do FC5 automático e em dado momento do script resolvi criar vários arquivos de uma só vez. Aí surgiu a questão... Como fazer isso?! "Dar" vários 'touch'?! Não... tentar criar de uma só vez usando o 'vi' ou qualquer outro editor?! Também não! Simples! Vou mostrar duas maneiras de efetuar o processo. A primeira, mais "fácil", porém trabalhosa, consiste em criar um .txt qualquer com o nome de todos os arquivos que você deseja criar:
1) crie o arquivo no 'vi' com seguinte conteúdo:
arquivo-1.txt
arquivo-2.txt
arquivo-3.txt
arquivo-4.txt
arquivo-5.txt
arquivo-6.txt
arquivo-7.txt
arquivo-8.txt
2) define a seguinte variável: VAR=`cat arquivo`
3) "dê" um 'touch' na variável $VAR: touch $VAR
Obs.: há outras possibilidades! Vai depender da sua criatividade! Por ex.: touch `cat arquivo`. Estimule a criatividade! Experimente fazer rotinas com laços usando 'for' ou o 'while'

Peczenyj escreveu...

Tem muitas formas de fazer isso
cat arquivo xargs touch
touch arquivo-{1,2,3,4,5,6,7,8}.txt
for((i=1;i<=8;i++)) ; do touch arquivo-${i}.txt ; done
Basta inventar uma...

Profeta_Livre escreveu...

#!/bin/bash
#
# bem simples vc da a quantidade de arquivo que quer
# criar, e ele atribui o nome do arquivo (
# este nome vc tambe fornece) com uma numeracao
# como vc mesmo propos
#
# as definicoe scomecam com 0,1,2 etc...
#
echo -e "Digite o nome da seguencia de arquivos: \n"
read arquivo
echo -e "Quantos arquivos devem ser criados? \n"
read quantidade
echo -e "Criando os arquivos...\n";
variavel="0"
while [ $variavel -lt $quantidade ]; do
arq=$arquivo$variavel
touch $arq.txt
echo -e "$arq.txt criado \n"
let variavel=variavel+1
done

Peczenyj escreveu...

$ set - `cat txt` && while [ "${1}" ] ; do touch ${1} ; shift ; done

Meu amigo JQueiroz escreveu...

for n in 1 2 3 4 5 6 7 8 9 10; do touch arquivo-$n.txt ; done

sábado, abril 22, 2006

FISL 7.0


Nessa postagem vou me atentar para o Fórum Internacional do Software Livre, que está acontecendo até o dia de hoje, 22 de abril, em Porto Alegre RS. Várias palestras estão acontecendo sobre os mais variados temas: VOIP, Administração do Sistema, Banco de Dados, Desenvolvimento, Redes, Linux, etc. Há também, para aqueles menos técnicos, temas a respeito da atuação do Governo Federal na escalado contínua do SL.
A minha humilde participação no FISL é como ouvinte dos diversos cursos e palestras nos quais tive a oportunidade de conhecer e me ambientar a temas sobre desenvolvimento, banco de dados e administração linux em geral.
A parte mais interessante, que está sendo grande "bum" do momento, foi o VOIP. Houve uma palestra sobre implantação de sistema de telefonia PBX via rede de dados com Asterisk, uma poderosa ferramenta que provê inúmeras formas de interligação telefonica via IP.
Deixo o meu grande abraço aos colegas da UERGS - Universidade Estadual do Rio Grande do Sul -, o Pessoal da UNICAMP, que desenvolveu uma distribuição baseada no Gentoo, Tuttoo, que já está disponível para downloads em seus ftps. Não posso deixar de parabenizer o trabalho de desenvolvimentos e tradução do sistema Debian para o Português brasileiro atravé do pessoal da Debian Brasil, mais precisamente, Guaraldo, ex-colega de trabalho que participou do projeto e expos o trabalho no Fórum.
A foto acima, não muito nítida, é do Mr. Stalman e eu obviamente a esquerda. Mr. Stalman é o grande pensador por trás da licença GPL FSF - Free Software Foundation. Uma pessoa bastante ímpar e que está também ministrando palestras do FISL 7.0.
Bom, por ora é só!
Grande Abraços!

segunda-feira, março 20, 2006

O que é Software Livre

O Que é?
Nós mantemos esta definição do Software Livre para mostrar claramente o que deve ser verdadeiro à respeito de um dado programa de software para que ele seja considerado software livre.

"Software Livre" é uma questão de liberdade, não de preço. Para entender o conceito, você deve pensar em "liberdade de expressão", não em "cerveja grátis".

"Software livre" se refere à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. Mais precisamente, ele se refere a quatro liberdades, para os usuários do software:

  • A liberdade de executar o programa, para qualquer propósito (liberdade no. 0);
  • A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade no. 1). Aceso ao código-fonte é um pré-requisito para esta liberdade;
  • A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade no. 2);
  • A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade no. 3). Acesso ao código-fonte é um pré-requisito para esta liberdade.

Um programa é software livre se os usuários tem todas estas liberdades. Portanto, você deve ser livre para redistribuir cópias, seja com ou sem modificações, seja de graça ou cobrando uma taxa pela distribuição, para qualquer um em qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que você não tem que pedir ou pagar pela permissão.

Você deve também ter a liberdade de fazer modifcações e usá-las privativamente no seu trabalho ou lazer, sem nem mesmo mencionar que elas existem. Se você publicar as modificações, você não deve ser obrigado a avisar a ninguém em particular, ou de nenhum modo em especial.

A liberdade de utilizar um programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessário comunicar ao desenvolvedor ou a qualquer outra entidade em especial.

A liberdade de redistribuir cópias deve incluir formas binárias ou executáveis do programa, assim como o código-fonte, tanto para as versões originais quanto para as modificadas. Está ok se não for possível produzir uma forma binária ou executável (pois algumas linguagens de programação não suportam este recurso), mas deve ser concedida a liberdade de redistribuir essas formas caso seja desenvolvido um meio de criá-las.

De modo que a liberdade de fazer modificações, e de publicar versões aperfeiçoadas, tenha algum significado, deve-se ter acesso ao código-fonte do programa. Portanto, acesso ao código-fonte é uma condição necessária ao software livre.

Para que essas liberdades sejam reais, elas tem que ser irrevogáveis desde que você não faça nada errado; caso o desenvolvedor do software tenha o poder de revogar a licença, mesmo que você não tenha dado motivo, o software não é livre.

Entretanto, certos tipos de regras sobre a maneira de distribuir software livre são aceitáveis, quando elas não entram em conflito com as liberdades principais. Por exemplo,copyleft (apresentado de forma bem simples) é a regra de que, quando redistribuindo um programa, você não pode adicionar restrições para negar para outras pessoas as liberdades principais. Esta regra não entra em conflito com as liberdades; na verdade, ela as protege.

Portanto, você pode ter pago para receber cópias do software GNU, ou você pode ter obtido cópias sem nenhum custo. Mas independente de como você obteve a sua cópia, você sempre tem a liberdade de copiar e modificar o software, ou mesmo de vender cópias.

"Software Livre" Não significa "não-comercial". Um programa livre deve estar disponível para uso comercial, desenvolvimento comercial, e distribuição comercial. O desenvolvimento comercial de software livre não é incomum; tais softwares livres comerciais são muito importantes.

Regras sobre como empacotar uma versão modificada são aceitáveis, se elas não acabam bloqueando a sua liberdade de liberar versões modificadas. Regras como "se você tornou o programa disponível deste modo, você também tem que torná-lo disponível deste outro modo" também podem ser aceitas, da mesma forma. (Note que tal regra ainda deixa para você a escolha de tornar o programa disponível ou não.) Também é aceitável uma licença que exija que, caso você tenha distribuído uma versão modificada e um desenvolvedor anterior peça por uma cópia dele, você deva enviar uma.

No projeto GNU, nós usamos "copyleft" para proteger estas liberdades legalmente para todos. Mas também existe software livre que não é copyleft. Nós acreditamos que hajam razões importantes pelas quais é melhor usar o copyleft, mas se o seu programa é free-software mas não é copyleft, nós ainda podemos utilizá-lo.

Às vezes regras de controle de exportação e sansões de comércio podem limitar a sua liberdade de distribuir cópias de programas internacionalmente. Desenvolvedores de software não tem o poder para eliminar ou sobrepor estas restrições, mas o que eles podem e devem fazer é se recusar a impô-las como condições para o uso dos seus programas. Deste modo, as restrições não afetam as atividades e as pessoas fora da jurisdição destes governos.

Quando falando sobre o software livre, é melhor evitar o uso de termos como "dado" ou "de graça", porque estes termos implicam que a questão é de preço, não de liberdade.

Finalmente, note que critérios como os estabelecidos nesta definição do software livre requerem cuidadosa deliberação quanto à sua interpretação. Para decidir se uma licença se qualifica como de software livre, nós a julgamos baseados nestes critérios para determinar se ela se segue o nosso espírito assim como as palavras exatas. Se uma licença inclui restrições impensadas, nós a rejeitamos, mesmo que nós não tenhamos antecipado a questão nestes critérios. Às vezes um requerimento de alguma licença levanta uma questão que requer excessiva deliberação, incluindo discussões com advogados, antes que nós possamos decidir se o requerimento é aceitável. Quando nós chegamos a uma conclusão sobre uma nova questão, nós frequentemente atualizamos estes critérios para tornar mais fácil determinar porque certas licenças se qualificam ou não.

Para maiores informações, visite o site de filosofia do projeto GNU.

fonte: http://www.softwarelivre.org/whatisit.php

sexta-feira, março 17, 2006

Instalando SUDO no GNU Linux

Introdução:
Sudo (Superuser do) permite administradores de sistemas linux dar, a certos usuários (ou grupo de usuários), a capacidade de "rodar" alguns ou todos os comandos de um console como usuário root ou qualquer outro tipo de usuário.

Instalação:

Não vamos fugir da boa e velha compilação ou instalação usando os fontes. Você pode encontrá-los em http://www.gratisoft.us/sudo/sudo.html. A versão tratada aqui é a sudo 1.6.8p12.

Para a maioria dos sistemas...

Baixe o "source" do sudo:

wget ftp://ftp.sudo.ws/pub/sudo/sudo-1.6.8p12.tar.gz
/* se der problemas com esse mirror, consulte outros aqui */

tar xvzf sudo-1.6.8p12.tar.gz -C /usr/local/src

cd /usr/local/src/sudo-1.6.8p12

./configure
make
make install

Após essas rotinas, edite o arquivo sudousers com o 'visudo'

Simples né!? Pois bem, pode parecer simples mas só o INSTALL do sudo há várias opções para as mais diversas necessidades. Nunca deixe de olhar o INSTALL e o README antes de compilar.

Bom, alguns esclarecimentos sobre a postagem:

Sim, foi rápida e objetiva. Tentei abordar de forma simples a instalação do sudo, o qual pode ser compilado qualquer sistema GNU Llinux. Essa talvez seja o método mais "fácil" de se compilar o programa, mas, como já disse, há várias opções possíveis para concretizar a instalação.

EFI - Em Inglês

The EFI specification defines a new model for the interface between operating systems and platform firmware. The interface consists of data tables that contain platform-related information, plus boot and runtime service calls that are available to the operating system and its loader. Together, these provide a standard environment for booting an operating system and running pre-boot applications.

The EFI specification is primarily intended for the next generation of IA architecture-based computers, and is an outgrowth of the "Intel® Boot Initiative" (IBI) program that began in 1998.

In 2005 the Unified EFI Forum was formed. Using the EFI 1.10 specification as the staring point, this industry group is responsible for developing, managing and promoting the UEFI specification. Please refer to the UEFI site for more information on UEFI and for accessing UEFI specifications.

For more information about EFI, see EFI presentations.

quinta-feira, março 16, 2006

Tempos antigos...

Internet Archive:
web.archive.org
Eeste site permite ver como eram os layouts antigos de uma infinidade de sites. Como exemplo, você pode ver o design de 1997 do site do UOL e até como era o InfoWester em seu lançamento como site .com em 2003. Para isso, basta digitar o endereço do site no campo de busca do Internet Archive e clicar em "Take me Back". Em seguida, uma lista de versões do site sugerido será mostrado. Em inglês.


Fonte

segunda-feira, março 13, 2006

Engenharia em Sistemas Digitais

Descrição:

Formação de profissionais capacitados a efetuar diagnósticos, formular soluções e gerir a implantação de inovações em processos e produtos envolvendo tecnologias digitais. A sua sólida formação básica em engenharia permitirá uma permanente atualização profissional e uma compreensão adequada mesmo dos problemas não intrinsecamente digitais, dando a eles soluções avançadas que possam incluir as possibilidades do estado da arte da microeletrônica.

Perfil do Profissional:

Um profissional com um sólida base científica e bons conhecimentos dos sistemas produtivos, capaz de assimilar e avaliar inovações bem como ter flexibilidade de atualizar-se e capacitar-se face a problemas novos. Essa capacitação é fundamental para dar suporte ao desenvolvimento de aumento de competitividade da pequena e média empresa de base tecnológica, em atividades que venham a exigir a combinação de tecnologias digitais e sistemas de hardware e software. Em particular, uma forte conexão com o CEITEC proporcionará aos graduados uma adequada capacidade de julgamento sobre a transição de tecnologias convencionais para as de alta integração com a microeletrônica.

Fonte: site da uergs

domingo, março 12, 2006

Compilei o kernel 2.6.15

Olha pessoal, esse poste simples, embora não seja nenhuma dica, é para apenas vos informar que estou usando agora, sem maiores problemas, por enquanto, o kernel 2.6.15. Bom, um grande abraço a todos!

terça-feira, março 07, 2006

Google?!

A escolha do nome

O nome Google foi escolhido por causa da expressão googol, que representa o número 1 seguido de 100 zeros, para demonstrar assim a imensidão da Web.

A expressão googol surgiu de um fato um tanto curioso, o matemático Edward Kasner questionou o seu sobrinho de 8 anos sobre a forma como ele descreveria um número grande - um número realmente grande: o maior número que ele imaginasse. O pequeno Milton Sirotta emitiu um som de resposta que Kasner traduziu por "google". Mais tarde Kasner definiu um número ainda maior: o googolplex.

Veja os derivados do nome googol:

  • Googolplex: é o nome do conjunto de construções de trabalho e moradia do Google, em Mountain View - Califórnia. Este termo também vem da matemática e é algo como 10^{10^{100}}, que seria 10 elevado a (10 elevado a 100) ou 10 elevado a googol.
  • Googolduplex: como quando alguém se refere a um dos complexos de moradia do Google; Este termo, voltando à matemática, se refere a 10^{10^{10^{100}}}, ou 10 elevado a (10 elevado a (10 elevado 100)), ou mesmo 10 elevado a googolplex.
fonte:

segunda-feira, março 06, 2006

Boot Splash com Slackware - Por Bruno R. da Silva

Esse texto escrito por Bruno R. da Silva mostra como usar o Bootsplash no Slackware.
Bootsplash no Slackware

Usando Bootsplash no Slackware por Blood_Brother

1.0 Pré-requisitos
1.1 Aplicando o patch ao kernel
1.2 Compilando o splash
1.3 Criando o /etc/bootsplash
1.4 Criando o /boot/initrd com a bootsplash
1.5 Editando o /etc/lilo.conf
1.6 Criando o /etc/rc.d/rc.bootsplash
1.7 Editando alguns arquivos no /etc/rc.d/
1.8 Últimos ajustes
2.0 Contatos e dúvidas
2.1 Créditos

3.0 Dados do autor

1.0 Pré-requisitos

A primeira ação a ser feita é o download do patch referente à sua versão de kernel, o mesmo pode ser encontrado em http://www.plumlocosoft.com/kernel/patches/2.4/ Somente precisa ser baixado o patch com bootsplash ou bs no nome, que pode ser encontrado em subpastas split ou components. (Ao entrar no link você perceberá do que estou falando)

Após a obtenção do patch é necessário o download de um theme (o qual vai ser sua bootsplash), que pode ser obtido em http://www.bootsplash.org (recomendo que use o theme Default Linux, que é o que foi testado neste artigo).

Faz-se necessário também o pacote de fontes a seguir:
ftp://ftp.suse.com/pub/people/stepan/bootsplash/rpm-sources/bootsplash/bootsplash-3.0.7.tar.bz2 Este pacote possui os fontes do utilitário splash, que será usado mais adiante.

Um outro pré-requisito muito importante é saber compilar o kernel. (Sem este pré-requisito não continue)

1.1 Aplicando o patch ao kernel

O patch pode ser aplicado facilmente da seguinte maneira:

~# bunzip2 arquivo-do-patch.bz2
~# cd /usr/src/linux (ou onde estiver o fonte do seu kernel)
~# patch -p1 < /onde-está-seu-patch/arquivo-do-patch
Se você receber alguma mensagem de erro o patch é incompatível com sua versão de kernel, então baixe a versão certa.

Na config do seu kernel assegure-se de ter marcado a opção "Console drivers -> Frame-Buffer support -> VESA VGA graphics console" (ou outro framebuffer apropriado), e a opção "Use splash screen instead of boot logo".

Feito isto, compile seu kernel e passe para o passo seguinte

. 1.2 Compilando o splash

Basta descompactar o bootsplash-3.0.7.tar.bz2, entrar no diretorio criado com o nome de bootsplash-3.0.7, executar os 2 passos seguintes:

~# make splash
~# cp splash /sbin

1.3 Criando o /etc/bootsplash

Esta parte é importante, pois é a pasta onde serão armazenados seus themes. Então, crie a pasta /etc/bootsplash e dentro dela crie outra chamada themes. Dentro então de /etc/bootsplash/themes descompacte o theme que você obteve no passo 1.0.

1.4 Criando o /boot/initrd com a bootsplash

Este passo é bem simples, basta executar o comando: splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg > /boot/initrd

Repare que usei /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg porque é referente ao theme Default Linux que foi usado neste artigo, se você baixou outro theme adeque o caminho ao mesmo.

1.5 Editando o /etc/lilo.conf

Existem 2 linhas fundamentais para o funcionamento correto do bootsplash, são as que seguem:

initrd = /boot/initrd
append = "splash=silent"

As linhas podem ser colocadas logo abaixo desta:

root = /dev/hda1

Ficando então seu lilo.conf mais ou menos desta maneira:

image = /boot/vmlinuz
root = /dev/hda1
initrd = /boot/initrd
label = Linux
read-only

1.6 Criando o /etc/rc.d/rc.bootsplash

O /etc/rc.d/rc.bootsplash deve ser da seguinte maneira (sem as linhas que começam com --):

-- INICIO DO ARQUIVO -- #! /bin/sh
#
function progressbar()
{
if [ $# != 1 ]
then
echo "Usage: progressbar {progress}"
exit 1
fi
echo "show $(( 65534 * $1 / 100 ))" >
/proc/splash
}
-- FIM DO ARQUIVO --

Ps.: não se esqueça que o /etc/rc.d/rc.bootsplash precisa ser executável, para isso: chmod +x /etc/rc.d/rc.bootsplash

1.7 Editando alguns arquivos no /etc/rc.d/

Dois arquivos importantes serão editados para que controlem a barra que indica o carregamento do sistema no bootsplash, são eles: rc.M e rc.S

No início dos respectivos arquivos você precisa inserir esta linha: . /etc/rc.d/rc.bootsplash (a linha precisa estar logo abaixo do #! /bin/sh)

Após feito isso é você quem vai decidir a porcentagem em que o sistema está carregado em tal ponto, você deve então chamar a função progressbar seguida de um número que vai de 0 (zero) a 100 (cem).

Uma nota importante é que o rc.S é iniciado primeiro na hora do boot, então é interessante que logo após a primeira função que ele executar você já coloque progressbar 10 (posicionar a barra de carregamento do boot splash em 10%), e por ai vai. É interessante também que ao final do rc.S termine em mais ou menos 50% e a partir do início do rc.M você coloque progressbar 60, e ao final progressbar 100. Segue um exemplo para que você possa entender melhor:

#!/bin/sh
# rc.S exemplo
. /etc/rc.d/rc.bootsplash
echo "Progress bar em 10%"
progressbar 10
echo "Progress bar em 20%"
progressbar 20
echo "Progress bar em 35%"
progressbar 35
echo "Progress bar em 50%"
progressbar 50
# Fim do rc.S

#!/bin/sh
# rc.M exemplo
. /etc/rc.d/rc.bootsplash

echo "Progress bar em 60%"
progressbar 60
echo "Progress bar em 70%"
progressbar 70
echo "Progress bar em 85%"
progressbar 85
echo "Progress bar em 100%"
progressbar 100
# Fim do rc.M

Penso que assim fica melhor entendido.

1.8 Últimos ajustes

Feito todos os passos anteriores agora só falta você copiar a sua imagem do kernel com o patch aplicado para /boot/vmlinuz ou criar um link para ele. Executar: lilo (para que o lilo seja reinstalado). E finalmente! Reiniciar a máquina e rezar pra que tudo tenha funcionado, hehehe, brincadeira, se você seguiu os passos certinho tudo deve funcionar.

2.0 Contatos e dúvidas

Se alguém quiser manter contato ou tirar alguma dúvida (pequena!) basta me enviar um e-mail.

Ps.: Se tiver algum erro no texto também ficaria grato que me enviassem um e-mail relatando-o, para que eu possa corrigir.

2.1 Créditos

Gostaria de agradecer àqueles que acreditam em mim, e ao pessoal do #LinuxHelp da rede VirtuaLife que sempre dão uma força!

Slackware r0x!

3.0 Dados do autor

Nome: Bruno R. da Silva
Nickname: Blood_Brother ou Blutsbruder
Nascido em: 14/04/1985
Cidade: Florianópolis
Site pessoal: http://www.bloodcorp.tk
E-Mail:
Ocupação: Estudante de Ciências da Computação na Universidade Federal de Santa Catarina (UFSC)
Experiencia Profissional: Administração de redes Windows e Linux, implementação de proxys e serviços de ftp, http, sshd e vnc.

FISL 7.0 Em Porto Alegre

7º Fórum Internacional Software Livre
19, 20, 21 e 22 de Abril de 2006
Porto Alegre, RS, Brasil

A sétima edição do FISL será mais uma vez em Porto Alegre RS. Nossa "querência" sediará esse evento que vem se tornando cada vez maior em todo Brasil e no mundo. O evento contará com presença do guru Richard Stalman, uma das grandes personalidades mundiais do software livre.

sábado, março 04, 2006

Compilando Kernel 2.4.x

Em minha primeira postagem, gostaria de estar colocando algo bastante interessante e que fascina a todos, que é a COMPILAÇÃO do Kernel. Esse texto é uma tradução adaptada de um trecho que trata sobre compilação em sistemas linux de o "The Revised Slackware Book Project" cuja a autoria é Alan Hicks, Chris Lumens, David Cantrell e Logan Johnson.
Com singelas adaptações minhas...

A questão "Devo compilar um kernel para meu sistema?" é geralmente a perguntada por usuários novos. A resposta é definitivamente tavez. Há poucos exemplos onde você precisará compilar um kernel específico para o seu sistema. Muitos usuário podem usar um kernel precompilado e seus respectivos módulos para ativar um sistema - no caso do Slackware Linux. Isto é, num sistema com SMP você definitivamente vai querer compilar um kernel com suporte a SMP. Também, muitos usuários acreditam que um kernel customizado "roda" mais rápido em suas máquinas. Você pode achar útil compilar um kernel otimizado para seu processador especificamente falando.
Construiu seu próprio kernel não é uma tarefa difícil. O primeiro passo é se certificar de que os fontes instalados em seu sistema. Certifique-se de que você tem instalado em seu sistema um compilador C, GNU make e o GNU binutils. Geralmente, e para evitar qualquer problema, uma boa idéia ter todo o pacote de desenvolvimento. Você pode fazer o download da última versão do kernel de http://www.kernel.org/mirrors

Compilação do Kernel versão 2.4.x

% su -
Password:
# cd /usr/src/linux

O primeiro passo é trazer a fonte do kernel para dentro de sua base. Emitimos esse comando para fazer isso (Nota, você deve fazer um backup do seu .config atual, pois será removido sem haviso prévio).

# make mrproper

Agora você pode configurar o kernel para o seu sistema. As três maneiras de se fazer isso é: a primeira é baseado em texto com perguntas e resposta, muito demorado. Fará várias perguntas e depois criará um arquivo de configuração. O problema, além de ser lento, é que se houver algum erro, tem de começar tudo denovo. O método que a maioria das pessoas preferem é o menu. Por último, há um método baseado numa ferramena de configuração do X. Escolha a que melhor convir:

# make config (text-based Q&A version)
# make menuconfig (menu driven, text-based version)
# make xconfig (X-based version, make sure you are in X first)

Usuários novos poderão achar o menuconfig provavelmente o mais fácil de usar. Telas de ajuda provêem explicações sobre as várias partes da compilação do kernel. Depois de configurar seu kernel, saia do programa de configuração. Ele definir os arquivos configuração necessários. Agora nós podemos preparar a árvore de fontes para a construção.

# make dep
# make clean

O próximo passo é compilar o kernel.

# make bzImage

Isso pode demorar um pouco dependendo da velocidade do seu CPU. Durante o processo, você verá inúmeras mensagens do compilador. Depois de compilar a imagem do kernel, você irá compilar as várias partes do kernel que você definiu como modulares.
# make modules

Nós agora podemos instalar o kernel e os módulos que foram compilados. Para instalar o kernel num Linux, por exemplo, no Slackware, serão necessários estes comandos:

# mv /boot/vmlinuz /boot/vmlinuz.old
# cat arch/i386/boot/bzImage > /vmlinuz *(ou /boot/vmlinuz, não importa)
# mv /boot/System.map /boot/System.map.old
# cp System.map /boot/System.map
# make modules_install

Após você deverá editar o seu Boot Loader favorito para que ele "carregue" o sistema