sexta-feira, outubro 16, 2009

Usar Bootchart com o Finit-arc

No post anterior mostrei como diminuir MUITO o tempo de boot do Arch Linux, mas como saber exatamente qual é/era o tempo que esta acontecendo agora e o que se fazia antes? Pois é, para isso temos um programa chamado bootchart que se sai muito bem nesse tipo de medição e que gera gráficos de inicialização também.

Então façamos.
Passo 1 Instalar o Bootchart

#pacman -Sy bootchart

Se você ainda não tiver instalado o finit-arc adicione o parametro init=/sbin/bootchatd na linha da inicialização do kernel no arquivo /boot/grub/menu.lst
kernel /boot/vmlinuz26 root=/dev/sda2 ro vga=791 splash resume=/dev/sda1 init=/sbin/bootchartd


No caso de já ter instalado o finit-arc o processo é um pouco diferente.

Modifique o arquivo /sbin/bootchartd na seguinte linha:
init="/sbin/init"

por
init="/sbin/finit-arc"

e modifique a linha do /boot/grub/menu.lst conforme o exemplo acima.
Pronto depois de reiniciar seu computador você pode usar o comando bootchart-render para gerar o grafico
$ bootchart-render /var/log/bootchat.tgz

O gráfico apresenta o kernel que esta sendo usado, serviços que estão sendo iniciados e o tempo que leva. Faça bom uso. Espero ter ajudado mais com esse post.

Interface Gráfica em 8 segundos no Arch Linux

Não você não leu errado o titulo do post, é EXATAMENTE isso que você leu. Carregar a interface gráfica em 8 SEGUNDOS desde a tela do GRUB até a tela do Gnome.
Há um tempo eu procurei muito como acelerar o boot do Arch Linux, comecei como a grande maioria começa, desabilitando serviços. Editando o /etc/rc.conf, mudando ordem de prioridade, colocando serviço pra começar em paralelo, mas tudo isso não mudava muito coisa, mesmo com com o boot em 20 segundos eu ainda achava lento. Foi então que eu encontrei, em forum italiano ou espanhol, o tal do finit-arc, um programa que substitui o INIT tradicional do Arch. Escrito em C e que carrega os serviços de forma assincrona. Mas o que me deixou mais entusiasmado era a promessa de uma interface gráfica em 5 segundos.
Confesso que nunca atingi os 5 segundos, mesmo porque nao me aprofundei tanto, pois o Arch foi deixado de ser usado no meu trabalho para dar lugar ao Debia, mas isso é outra história um dia eu a contarei, mas cheguei a conseguir 7 segundos usando um processador ATOM.
Que conclusão chegamos com isso? Não precisamos de um SUPER COMPUTADOR e nem MILHARES de GB-RAM para que o sistema inicie rápido, só precisamos de um bom inicializados.
Mas vamos deixar de papo e vamos por a mão na massa.
Passo 1: Instalar o finit-arc no Arch Linux.
#yaourt -Sy finit-arc

Passo 2: Ajustar o sistema para o funcionamento do finit-arc
Faça o backup dos rc.sysinit, menu.lst, /etc/fstab
#cp /etc/rc.sysinit /etc/rc.sysinit.bkp
#cp /etc/fstab /etc/fstab.bkp
#cp /boot/grub/menu.lst /boot/grub/menu.lst.bkp


Passo 3: Modificar /etc/rc.sysinit
Para que se consiga bootar mais rápido com o finit-arc é necessário substituir o conteudo do /etc/rc.sysinit pelo código abaixo
#!/bin/bash
#
# /etc/rc.sysinit
#
. /etc/rc.conf
. /etc/rc.d/functions
echo " "
printhl "Arch Linux - Speedup boot"
printsep
#**************************** WARNING ******************************
# If you're using initramfs for your kernel, uncomment steps 5 and 17
# To improve boot speed it's recommendend to make a static kernel
# without modules and without initramfs.
#
# MAKE STEP 2
# Type in a term from root: ls -l /dev | grep sda
# you'll receive the list of /dev/sda devices
# make your /dev/sda devices in step 2 like the example
#*******************************************************************
#
# STEP 1 - mount /proc, /sys and our RAM /dev
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
#
# STEP 2 - make static sda nodes for start udevadm --settle in background
/bin/mknod /dev/sda b 8 0
/bin/mknod /dev/sda1 b 8 1
/bin/mknod /dev/sda2 b 8 2
/bin/mknod /dev/sda3 b 8 3
/bin/mknod /dev/sda4 b 8 4
#...5...6..etc..(from your fdisk -l)
#
# STEP 3 - copy static device nodes to /dev
/bin/cp -a /lib/udev/devices/* /dev/
#
# STEP 4 - enable rtc access
/sbin/modprobe rtc-cmos >/dev/null 2>&1
if [ -n "$RTC_MAJOR" ]; then
/bin/mkdir /dev/misc/
/bin/mknod /dev/misc/rtc0 c $RTC_MAJOR 0
/bin/ln -s /dev/misc/rtc0 /dev/rtc
fi
#
# STEP 5 - Load modules from the MODULES array defined in rc.conf
#if ! [ "$load_modules" = "off" ]; then
# if [ -f /proc/modules ]; then
# stat_busy "Loading Modules"
# for mod in "${MODULES[@]}"; do
# if [ "$mod" = "${mod#!}" ]; then
# /sbin/modprobe $mod
# fi
# done
# stat_done
# fi
# if [ -d /proc/acpi ]; then
# stat_busy "Loading standard ACPI modules"
# ACPI_MODULES="ac battery button fan processor thermal"
# k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')"
# j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')"
# #add disabled MODULES (!) to blacklist - much requested feature
# for m in ${j}; do
# [ "$m" != "${m#!}" ] && k="${k} ${m#!}"
# done
# # add disablemodules= from commandline to blacklist
# k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')"
# for n in ${ACPI_MODULES}; do
# if ! echo ${k} | /bin/grep "\" 2>&1 >/dev/null; then
# /sbin/modprobe $n > /dev/null 2>&1
# fi
# done
# stat_done
# fi
#fi
#
# STEP 6 - set hardware clock for fs check
{
HWCLOCK_PARAMS="--hctosys"
if [ "$HARDWARECLOCK" = "UTC" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
else
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
fi
if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
fi
if [ -f /etc/localtime ]; then
/sbin/hwclock $HWCLOCK_PARAMS --noadjfile
fi
} &
#
echo > /proc/sys/kernel/hotplug
#
# STEP 7 - start udevadm trigger and udevd in background
{
if [ -x /sbin/udevadm -a -d /sys/block ]; then
stat_busy "Starting UDev Daemon"
/sbin/udevd --daemon &
/sbin/udevadm trigger &
stat_done
else
status "Using static /dev filesystem" true
fi
} &
#
# STEP 8 - start udevadm settle in background
/sbin/udevadm settle &
#
# STEP 9 - make lo interface
{
if [ -d /sys/class/net/lo ]; then
stat_busy "Bringing up loopback interface"
/sbin/ifconfig lo 127.0.0.1 up
if [ $? -ne 0 ]; then
stat_fail
else
stat_done
fi
fi
} &
#
# STEP 10 - mounting root read-only
status "Mounting Root Read-only" /bin/mount -n -o remount,ro / &
#
# STEP 11 - filesystem check
FORCEFSCK=
[ -f /forcefsck ] && FORCEFSCK="-- -f"
NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk"
fsck_reboot() {
echo "Automatic reboot in progress..."
/bin/umount -a
/bin/mount -n -o remount,ro /
/sbin/reboot -f
exit 0
}
if [ -x /sbin/fsck ]; then
stat_busy "Checking Filesystems"
FSCK_OUT=/dev/stdout
FSCK_ERR=/dev/null
/sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >$FSCK_OUT 2>$FSCK_ERR
fsckret=$?
if [ ${fsckret} -gt 1 ]; then
stat_fail
fi
if [ $((${fsckret}&2)) -eq 2 ]; then
echo
echo "********************** REBOOT REQUIRED *********************"
echo "* *"
echo "* The system will be rebooted automatically in 15 seconds. *"
echo "* *"
echo "************************************************************"
echo
/bin/sleep 15
fsck_reboot
fi
if [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ]; then
echo
echo "***************** FILESYSTEM CHECK FAILED ****************"
echo "* *"
echo "* Please repair manually and reboot. Note that the root *"
echo "* file system is currently mounted read-only. To remount *"
echo "* it read-write type: mount -n -o remount,rw / *"
echo "* When you exit the maintenance shell the system will *"
echo "* reboot automatically. *"
echo "* *"
echo "************************************************************"
echo
/sbin/sulogin -p
fsck_reboot
fi
stat_done
fi
#
# STEP 12 - remount root and mount local file system
stat_busy "Mounting Local Filesystems"
/bin/mount -n -o remount,rw /
/bin/rm -f /etc/mtab*
/bin/mount -o remount,rw /
if [ -e /proc/mounts ]; then
/bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab
fi
/bin/mount -a -t $NETFS
stat_done
#
# STEP 13 - activating swap partition
status "Activating Swap" /sbin/swapon -a &
#
# STEP 14 - set urandom
{
RANDOM_SEED=/var/lib/misc/random-seed
if [ -f $RANDOM_SEED ]; then
stat_busy "Initializing Random Seed"
/bin/cat $RANDOM_SEED > /dev/urandom
stat_done
fi
} &
#
# STEP 15 - removing temp files
stat_busy "Removing Leftover Files"
/bin/rm -f /etc/nologin &>/dev/null
/bin/rm -f /etc/shutdownpid &>/dev/null
/bin/rm -f /var/lock/* &>/dev/null
/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
/bin/rm -f /forcefsck &>/dev/null
(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} \; )
: > /var/run/utmp
/bin/chmod 0664 /var/run/utmp
/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix
/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix
stat_done
#
# STEP 16 - set rc.conf hostname
if [ "$HOSTNAME" != "" ]; then
status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME &
fi
#
# STEP 17 - load modules depends
#status "Updating Module Dependencies" /sbin/depmod -A &
#
# STEP 18 - set lang
{
: >/etc/profile.d/locale.sh
/bin/chmod 755 /etc/profile.d/locale.sh
[ -z "$LOCALE" ] && LOCALE="it_IT@euro"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done
} &
#
# STEP 19 - Save our dmesg output from this boot
if [ -f /var/log/dmesg.log ]; then
/bin/rm /var/log/dmesg.log &
fi
/bin/dmesg > /var/log/dmesg.log &


Passo 4: Configurar /boot/grub/menu.lst
OBS. o Finit-arc não suporta aqueles UUID para as partições. VOCÊ deve usar o nome padrão usado no linux como /dev/sda1. Também altere o arquivo /etc/fstab
vim /etc/menu.lst
#(0) Arch Linux
title Arch Linux SpeedBoot
kernel /boot/vmlinuz26 root=/dev/sda2 ro vga=791 splash resume=/dev/sda1 init=/sbin/finit-arc
initrd /boot/kernel26.img


Passo 5: Alteração do /etc/fstab
O original deve estar mais ou menos assim:
UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 / ext4 defaults,noatime 0 1
UUID=03ec5dd3-45c0-4f95-a363-61ff321a09ff /home ext4 defaults,noatime 0 2
UUID=4209c845-f495-4c43-8a03-5363dd433153 swap swap defaults 0 0


Para algo parecido com o que segue abaixo(Claro que isso vai depender da sua configuração de partições):
#vi /etc/fstab

/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 /home ext4 defaults,noatime 0 2
/dev/sda3 swap swap defaults 0 0



Apartir daqui você terá o configurador do seu novo sistema de inicialização finit-arc em substituição ao antigo init

Passo 6: Edite/crie o arquivo /etc/finit.conf
O conteudo do finit.conf deve ser mais ou menos esse.
##Set user on "login_manager" if you want access
##in a console login manager or GDM,KDM
#user login_manager
#
##mountdevices before udev (DONT REMOVE IT!)
mountdev
#
##modules that you want load
#module intel_agp
#module agpgart
#
##filesystem device that you want check
check /dev/sda2
check /dev/sda3
#
##hostname
host arch_msdark
#
##startx command
startx /bin/bash --login -c /usr/bin/startx


Depois você pode verificar cada opção desse arquivo de como configura-lo

Passo 7: Crie/Edite o arquivo /usr/sbin/services.sh
#!/bin/sh
#
#Starts udev events
/sbin/udevd --daemon &>/dev/null &
/sbin/udevadm trigger &>/dev/null &
/sbin/udevadm settle &>/dev/null &
#
#Make swap (not for ssd)
/sbin/swapon -a &
#
#Starting background daemons
/etc/rc.d/syslog-ng start &>/dev/null &
/etc/rc.d/hal start &>/dev/null &
/etc/rc.d/laptop-mode start &>/dev/null &
/etc/rc.d/alsa start &>/dev/null &
/etc/rc.d/wicd start &>/dev/null &
/etc/rc.d/fam start &>/dev/null &
/etc/rc.d/klogd start &>/dev/null &
/etc/rc.d/crond start &>/dev/null &


Pronto. Agora reset seu PC e veja o ganho de velocidade.
Mais tarde faço um post sobre como configurar o bootchart para você verificar o ganho de velocidade
referência no forum em portugues e no forum original chileno

quarta-feira, outubro 14, 2009

Promoção ajude o ubuntu games a se manter no ar e concorra a 3

Promoção ajude o ubuntu games a se manter no ar e concorra a 3 camisas do blog defendendoolinux no dia 30/10, para participar é simples copie e cole todo esse texto entre aspas, preservando a formatação html no seu blog e deixe um comentario nesse link com o link para a sua postagem. Além disso o defendendoolinux fará uma doação em dinheiro ao projeto.

falha na compilação de kernel no debian lenny

Notei que quando se esta compilando o kernel 2.6.31 no Debian Lenny ocorre um erro estranho quase no final da compilação. No meu caso o erro foi esse daqui:
make[1]: Saindo do diretório `/usr/src/linux-2.6.31.1'
/usr/bin/make EXTRAVERSION=.1-intera ARCH=i386\ -C Documentation/lguest
make[1]: Entrando no diretório `/usr/src/linux-2.6.31.1/Documentation/lguest' cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -03 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
lguest.c:21:25: error: sys/eventfd.h: Arquivo ou diretório não encontrado
lguest.c:37:18: error: zlib.h: Arquivo ou diretório não encontrado
lguest.c: In function create_thread:
lguest.c:1021: warning: implicit declaration of function eventfd
make[1]: **[lguest] Erro 1
make[1]: Saindo do diretorio `/usr/src/linux-2.6.31.1/Documentation/lguest'
make: ** [debian/stamp/build/kernel] Erro 2


Em outro site vi que a pessoa teve esse erro aqui:
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1021: warning: implicit declaration of function ‘eventfd’
make: *** [lguest] Error 1


A correção é simples. Basta fazer os passos abaixo.
#vim /usr/src/linux/Documentation/lguest/Makefile

E editar a seguinte linha
all: lguest


Para:
all:


Salvar e compilar seu kernel em paz.

Compilar kernel Debian Lenny criando .deb

Nesse post mostrarei como compilar o kernel Debian do modo Debian, criando o pacote .DEB para você distribuir pros seus amigos e não ter que ficar compilando máquina por máquina. Então vamos deixar de blablabla e começar a trabalhar.

Passo 1: Instalação dos pacotes necessário para compilação
#aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

Esses devem ser o suficiente mas por via das dúvidas coloque esses daqui também.
#aptitude install zlib-bin zlibc zlib1g-dev


Passo 2: Baixar, descompactar e criar link para kernel
Aqui iremos entrar no diretorio onde iremos baixar, descompactar e criar o link para o kernel para mais tarde compilá-lo.
#cd /usr/src
#wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.4.tar.bz2
#tar -xvvjf linux-2.6.31.4.tar.bz2
#ln -s linux-2.6.31.4 linux
#cd linux


Passo 3: Copiar o arquivo de .config do antigo kernel
Copiando o arquivo .config do antigo kernel podemos economizar algum tempo na configuração dele, mas nada impede de você modifica-lo totalmente.
#cp /boot/config-$(uname -r) .config


Passo 4: Configurar, melhorar, adicionar modulos ao kernel
Esse comando permitirá você modificar as configurações do kernel que você está compilando
#make menuconfig


Passo 5: Limpar o fonte para compilar em paz.
Primeiro devemos ter certeza que não existe lixo de uma possivel compilação que deu erro, para isso usamos o seguinte comando.
#make-kpkg clean


Passo 6: Agora vamos compilar o kernel criando os pacotes .DEB
#time make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers


Passo 7: Arquivos .DEB gerados
Verifique se os arquivos .DEB foram criados no seu diretório corrente.
#ls linux-*.deb

Se todos estiverem ai pronto, pode instar que tah tranquilo.

Passo 8: Instalar o novo kernel.
#dkpg -i linux-*.deb


Agora você pode reinicar seu sistema que estará com o novo kernel funcionando.
reboot


OBS1. Esse arquivo .DEB pode ser instalado em outras maquinas sem ter que fazer todos esses passos, basta que você use o comando #dkpg -i
OBS2. Quando eu compilei meu kernel eu tive um problema na compilação que me retornou um erro muito estranho. A correção para o erro você encontra AQUI

Referência: Guto Carvalho

terça-feira, outubro 13, 2009

mac address em python

Algumas pessoas vez ou outra precisam da informação do mac address da placa de rede para qualquer coisa. No meu caso é para simples criação de logs, onde o mac address e o serial são os identificadores da maquina. Fazer isso através do shellscript não é tão complicado, mas, eu pelo menos, não sou muito fã de como as coisas ficam "organizadas" no shell-script. Então podemos fazer praticamente tudo que o shell faz usando python.
Outro dia estava fuçando como fazer isso, já que minha caminhada em python começou a pouco tempo e eu ainda apanho um bocado, mas para "facilitar" ou disseminar o conhecimento colocarei abaixo as linhas de código que achei em um blog de um colega blogueiro.
Primeiramente em shell, poderiamos simplesmente usar um comando e editar a saida dele usando shell. Da seguinte forma:
$mac=$(ifconfig eth0) && mac=${mac:45:25} && echo $mac >> arquivo.txt

a saida no meu caso foi a seguinte:
00:24:00:b0:e7:00

Mas sinceramente isso não fica tão agradavel de se usar... Pelo menos não para mim...
Então podemos fazer um pequeno script em python um pouco mais trabalhoso organizado.

O script em python da mesma forma que o shell apresentará a mesma saida, porém as possibilidades são muito maiores do que se pode fazer.
00:24:00:b0:e7:00

OBS1. O script funciona bem em qualquer Linux. Para qualquer outro sistema você tem que saber qual modulo substitui o AF_PACKET.
OBS2. Você pode usar uma interpretação do comando ifconfig ou ipconfig no python como acontece no shell script mas isso não seria muito normal de se fazer.

Instalar Debian na pen-drive

Passei muito tempo atras de algo que me ensinasse a realmente instalar um Linux em uma pen-drive e não simplesmente colocar um live-CD na pendrive pra dar boot, não encontrei durante muito tempo, mas os problemas foram resolvidos antes de ontem. Então Disponibilizarei uma versão do tutorial que encontrei aqui. Infelizmente não é tãaaao bom quanto eu gostaria, mas já quebra um bom galho.
Bem, qual é a grande diferença de Instalar para rodar do pendrive. A diferença é que se eu instalar no pendrive eu posso instalar quantos programas mais eu quiser e se eu simplesmente rodar eu vou ter algo estatico no pendrive e isso é uma porcaria, sem que falar que rodar do pendrive usar vfat como sistema de arquivo. e instalado usar EXT* nesse caso...
Enfim, vamos ao que interessa que é como Instalar o Debian na pendrive.
Primeiramente você tem que ter o Debian instalado, por falta de tempo não testei se funciona no Arch e/ou no Ubuntu, e fazer os seguintes passos:

OBS. Você deve ajustar alguns arquivos depois de inicializar seu pendrive, entre eles encontram-se:

  • Edite o arquivo /etc/hostname e altere o nome da máquina.

  • Edite o arquivo /etc/hots e utilize, nos locais adequados, o mesmo nome inserido em /etc/hostname.

Qualquer duvida ou questionamento os post estão ai e meu e-mail também ou meu skype demetrius.albuquerque .

quarta-feira, setembro 23, 2009

Compilar kernel do Arch Linux parte final

Nessa parte final mostrarei como criar o pacote de instalação do kernel no Arch Linux, dessa forma você pode instalar em diversas máquinas sem ter que compilar o kernel uma vez para cada máquina, assim você compilará o kernel uma única vez e poderá instalá-lo em quantos PCs quiser.
Passo 1:Descompacte o kernel que você baixou do site oficial
$tar -xvvjf linux-2.6.31.1.tar.bz2


Passo 2: Entre no diretorio e crie um arquivo PKGBUILD
$cd linux-2.6.31.1
$gedit PKGBUILD


Adicione o seguinte ao PKGBUILD
pkgname=kernel26-my
basekernel=2.6.28
pkgver=2.6.28
pkgrel=1
pkgdesc="The Linux Kernel and modules"
arch=('i686')
url="http://www.kernel.org"
depends=('module-init-tools')
provides=(kernel26)
install=kernel26.install
build() {
# build!
cd ..
_kernver="${basekernel}${CONFIG_LOCALVERSION}"
make || return 1
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
install -Dm644 System.map $startdir/pkg/boot/System.map26-my
install -Dm644 arch/x86/boot/bzImage $startdir/pkg/boot/vmlinuz26-my
install -Dm644 .config $startdir/pkg/boot/kconfig26-my
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install
}


OBS. Fique atento as informação de versão das linhas:
  • basekernel=2.6.28
  • pkgver=2.6.28
Substitua esses valores pela versão do kernel que você esta compilando.
Passo 3: Crie o arquivo kernel26.install
$gedit kernel26.install

Adicione o seguinte ao arquivo kernel26.install
post_install () {
echo ">>> Updating module dependencies. Please wait ..."
KERNEL_VERSION=2.6.28
/sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
post_upgrade() {
echo ">>> Updating module dependencies. Please wait ..."
KERNEL_VERSION=2.6.28
/sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
op=$1
shift
$op $*


OBS2. Modifique as linhas KERNEL_VERSION para o valor da versão que você esta compilando seu kernel.

Passo 4: Configure o seu kernel.
Conforme vimos no primeiro post você deve fazer nesse trecho os passos 5 e 6 daquele post

Passo 5:
Prepare tudo para começar a configuração

Esse comando apaga os arquivos .o(objetos) de tentativas de compilações anteriores
#make mrproper

Passo 6: Configurar o kernel para compilação
Aqui você esta pegando a configuração do kernel atual e modificando-a

 #zcat /proc/config.gz > .config
#make menuconfig


Passo 5: Agora chame o comando makepkg
Esse comando irá criar o pacote compilado do kernel.
$makepkg -c


Passo 6:
Instale o pacote:
Depois de rodar o makepkg você terá um pacote pronto para ser instalado no seu sistema e você deve fazê-lo através do pacman com o seguinte comando:
#pacman -U kernel26-my-2.6.31-1-i686.pkg.tar.gz

OBS3. Note que essa instalação nao cria o ramdisk. E você precisará criar um.

Passo 7:
Crie o arquivo ramdisk conforme o passo 10 do primeiro post.
Passo 10: Faça o ramdisk
#depmod 2.6.31-arch
#mkinitcpio -k 2.6.31-arch -g /boot/kernel26.img


Passo 8
Configure o Grub
Configure o Grub para inicializar o seu novo kernel.
Pronto. Você possui um pacote funcional para instalação. Se usar placas nVidia não esqueça de configura-la como vimos na parte 2
Espero ter ajudado. Qualquer dúvida... Mande um e-mail. Responderei o quanto antes.
fonte: arch linux wiki

terça-feira, setembro 15, 2009

Compilar kernel do Arch Linux parte 2

No post anterior eu mostrei como compilar manualmente o kernel do Arch Linux, mas não mostrei detalhes importantes. Por exemplo, e se eu quiser instalar esse mesmo kernel que eu compilei e até otimizei no computador da minha vizinha? Terei que recompilar tudo outra vez? Porque meu servidor X não levantou? Cade meu drive nvidia? Pois é... Deixei muita coisa em aberto, mas porque eu não queria fazer um post muito longo... Dá preguiça de ler. Então vamos parar de enrolar e mostrar as soluções. Na parte III eu mostro como criar o pacote pra instalar no PC da vizinha!

Primeiro ponto que vou mostrar é o do driver nvidia junto com esse kernel que vocês já compilaram.

Agora aproveite o pacote que criou para a sua nvidia para seu kernel.

Referência: arch-linux-wiki

segunda-feira, setembro 14, 2009

Haiku-OS

Haiku-OS
Talvez muitos não conheçam o projeto Haiku OS, e outros talvez não conheçam nem mesmo o seu predecessor o BeOS, mas isso não é exatamente importante nesse exato momento. O importante é que o projeto Haiku-OS anunciou hoje o lançamento de seu Alpha-1.
Acho interessante para os entusiastas do mundo de software livre não ficarem limitados aos vários sabores de Linux, mas procurem testar também algumas outras coisas. O Haiku-OS é um ótimo inicio, mesmo porque seu arquivo de INSTALÇÃO não é tão grande quanto a grande maioria dos Linux. E vocês notaram que a velocidade de inicialização dele, mesmo em uma máquina virtual, é absurda.
No site oficial você também encontra um MANUAL bem detalhado de como instala-lo. Que é outro ponto forte do sistema, afinal de contas, mas fácil que instalá-lo só se você mandar alguém fazer por você...
Bem. Tá certo que ainda é uma versão alpha, mas que é divertido de se ver... Ah é!
O anuncio oficial vocês encontram AQUI e alguns outros detalhes do sitema operacional e parte da sua história vocês podem encontrar AQUI.

sexta-feira, setembro 11, 2009

Acessar SQL Server com Python

Python
Alguns precisam conectar em base de dados SQL Server por qualquer motivo, então mostrarei aqui de forma simples que pacotes são necessários para tal e como testar se conseguiu ou não a conexão usando o Arch Linux como base, depois talvez post sobre o Debian, ou não.
Primeiramente você precisa instalar alguns pacotes no seu Arch Linux:

Se estiver tudo OK aparecerá na tela.

compilar kernel no Debian Lenny

Debian
No post anterior eu apresentei como recompilar o kernel do Arch Linux de maneira simples e direta apesar de demorada. Neste post pretendo mostrar como fazer a mesma coisa só que agora voltado para o Debian Lenny, afinal cada distro tem sua própria característica.
Usaremos aqui o kernel de versão 2.6.31 e o Debian Lenny(5.03).


Pronto. Reinicie a maquina. Se você tiver feito tudo certo vai funcionar. Talvez você deixe escapar um detalhe ou outro.

referência cyberciti



Compilar kernel Debian criando .DEB

quinta-feira, setembro 10, 2009

Compilar Kernel do Arch Linux

Eu deveria começar ensinando como instalar e configurar o Arch Linux, mas vocês encontram essas informações em outros sites, como o blog do hdoria ou alguns outros, talvez mais tarde eu mostre qual foi a minha seleção de pacote e o que eu modifiquei no meu para vocês...Por hora eu simplesmente mostrarei como recompilar o kernel do Arch Linux de maneira simples e direta usando o kernel que eh dispibilizado no site oficial do kernel linux.
OBS: Dependendo do seu hardware você pode perder até 4h compilando seu kernel. Vale a pena? Não tenho uma resposta exata para isso, mas garanto que é interessante fazer algumas vezes.
OBS2: Existe uma outra maneira de se fazer isso. Mostro em outro post.
OBS3: O seu drive nvidia precisa de um pequeno ajuste para funcionar com seu kernel recompilado que você pode ver a parte 2desse tutorial

Apresentação.

Esse blog foi iniciado por mim, Demetrius Albuquerque, para simplesmente reunir tutoriais que eu acho interessantes e úteis e para deixar mais claro algumas coisas para quem também busca informações do mundo linux e coisas desse tipo.

Muito provavelmente não falarei apenas do Arch Linux aqui. Postarei algumas noticias a respeito do mundo do software livre alem de tutoriais e curiosidades do mundo da tecnologia. Mas por hora ficaremos presos aos tutoriais.

Saudações a quem cair aqui!