Arquivar

Posts Etiquetados ‘boot’

Acelerando o Boot do Arch Linux com o finit-arc

Não é novidade minha mania de tentar deixar o boot sempre mais rápido.. quem acompanha o blog(alguém faz isso mesmo??) sabe que eu vivo fazendo isso, e já testei diversas distribuições…
mas enfim, chegou a vez do arch linux, que está me acompanhando a aproximadamente 3 meses :D

Faça por sua conta em risco.

Vamos lá:
1º – Baixe e instale esse pacote do aur:


http://aur.archlinux.org/packages.php?ID=25159

2º – Faça um backup do seu rc.sysinit

#mv /etc/rc.sysinit /etc/rc.sysinit.bkp

3º – Crie o novo rc.sysinit com o seguinte conteúdo (edite de acordo com os comentários):

#!/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 &

4º – Altere o /boot/grub/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
Obs.: O finit-arc não suporta os UUID’s para as partições, faça à moda antiga, /dev/etc..

5º – Alere o /etc/fstab
Faça um backup por via das dúvidas, embora nem seja tão necessário assim.. mas enfim, é só tirar os UUID’s e por o caminho completo (/dev/etc), pelo motivo explicado anteriormente :)

6º – Configure o /etc/finittab

#Command that you want execute after boot
#uncomment it for X login
#you must set YOURUSERNAME
#level:/bin/su YOURUSERNAME -l -c “/bin/bash –login -c xinit >/dev/null 2>&1″
#level:/usr/sbin/gdm –nodaemon
#level:/usr/bin/xdm -nodaemon
#level:/usr/bin/kdm -nodaemon
#level:/usr/bin/slim

Esse tá muito simples, é só ler :P

7º – Crie o /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 &

Vá adicionando os seus daemons no mesmo estilo dos anteriores.. easy easy ;)
Feito isso, é só reiniciar :P
Aqui funcionou perfeitamente.. ainda não medi o tempo.. mas tenho certeza absoluta que tá bem pequeno.. eahiuheaiuheaiu
tópico no fórum:  http://forum.archlinux-br.org/viewtopic.php?pid=13065#p13065
abraço

sb-get PROJECT[3]

Liberei o 0.4RC, a versão mais usável liberada até agora!!!!

confiram!!

http://caarlos0.wordpress.com/sb-get-slackbuilds-get-project/

[]’s

Melhorando o boot do slackware [1 de n]

Como todos vocês, fiéis leitores (eu tenho algum?) já devem ter percebido, eu curto muito mexer nas coisas pra deixar o boot mais rápido.


Agora, novamente no slackware, estou tentando melhorar o tempo dele.


Essa será um série de tutoriais, sem número final definido… eauiaheiuhaeu


Podemos começar editando o /etc/lilo.conf

logo no começo do arquivo, insira o comando “compact”, e rode /sbin/lilo


easy easy :)


abraço

Boot do Ubuntu Intrepid em 20 segundos ;D

Não acredita?

olha:

intrepid-20090209-6

Bom, perdi, creio eu, em torno de 8 segundos.

como eu já sei que vão me perguntar, vou logo respondendo..


comofas? (miguxês detected. Kill them!)

1º – Compile o kernel. É, isso mesmo que você ouviu.. compila o kernel. Isso melhora em muito o desempenho, não só do boot, mas o desempenho geral do sistema também.. Tudo bem que desde então minha webcam não vem funcionando.. mas eu não a uso mesmo.. Prefiro desempenho ao invés da webcam :D

2º – Desabilite alguns serviços. Instale o bum(sudo apt-get install bum), e tire alguns, mas TOME MUITO CUIDADO. VOCÊ PODE ESTRAGAR SEU SISTEMA.Não desabilite o que você não sabe pra que serve.

3º – Ative o boot em modo paralelo :D Dá umas melhoradinha até ;D

para fazer isso, abra o arquivo ‘/etc/init.d/rc’ , encontre a linha ‘CONCURRENCY=none’, e mude para ‘CONCURRENCY=shell’. Tome cuidado, escrever errado aqui, é cagada na certo. Seu linux NÃO SOBE MAIS.

bom, era isso. Dúvidas? Comentem :D

abraço.

EDIT 1

Atendendo a pedidos, tá ae a screenshot do bum ;)

Captura_de_tela-Boot-Up Manager

Malditos BAdBlocks

Esse final de semana, em que fui para a casa dos meus pais, resolvi dar uma geral no meu laptop e no pc do meu pai..

Bom, no pc do meu pai (que eu usava até um tempo atrás também), havia ainda um slackware 12.0 com kernel compiladinho e tudo, dos tempos que eu tinha mais tempo pra brincar dessas coisas..
Meu pai gosta de linux e tal, e meu irmão mais novo quer aprender, então, me pediram pra ajudar meu mano a instalar o Ubuntu ou alguma outra distro mais fácil lá..

Beleza, dei o CD do debian pra meu mano, e falei, tenta ae..

Me espantei! O CD não inicializou..

Achei estranho, tentamos de novo e nada.. Bom, vamos pro ubuntuzão então..

Já com o cd na bandeja, começou a inicializar.. pensei : “oba, esse vai.!”. Doce ilusão.

Alguns segundos depois, começaram a dar vários erros, até que ele finalmente travou.

Bom, como lendo os erros, diagnostiquei como sendo problema no HD, rodei o DVD do slack 12.1, e comecei a checar as unidades por erros.. ( badblocks /dev/sda )

Encontrou 125 badblocks. Me Espantei.. mas logo de cara pensei,.. “ahh, vou marcar os badblocks nos inodes e boa..”

Lá fui eu, comecei pelas partições ext3.. rodei um ” e2fsck -c /dev/sdax ” e alguns minutos depois, 30 badblocks a menos o//

Resolvi partir para as ReiserFS.. e para o meu azar, a maior delas era reiser.. 160 gb O.o

bom, primeiro salvei a lista dos BadBlocks num arquivo, com o comando “badblocks -b 1024 -o bads.list /dev/sda7 ” . Até aqui tudo bem..
Fui então marcar os ditos cujos.. quem me dera funcionasse…
redei o comando ” reiserfsck –rebuild-tree -B bads.list /dev/sda7 “, ele começava, e dava um erro..

Acho que vou ter que fazer uma formatação de baixo nível, uahuaeea

Só pra constar, a formatação de baixo nível, consiste em “zerar” o HD.. e pode ser feita com o comando ” dd if=/dev/zero of=/dev/sda “, sempre lembrando de fazer isso a partir de um live-cd..

Se seu hd tiver ruim como o meu, e o ubuntu não der boot, use o slackware, ele vai háhá!
Amo Slackware o/

Abraço

—————–
Leia mais em:
· http://www.guiadohardware.net/dicas/gerenciamento-setores-defeituosos-reiserfs.html
· http://www.vivaolinux.com.br/artigo/Verificando-e-marcando-badblocks/?pagina=2