Conforme o prometido, seguem agora os passos para a instalação do init OpenRC no Slackware.
Instalação.
Partindo do princípio que o nobre slacker, faça uso dos SlackBuilds, comece por realizar a cópia da pasta /etc/init.d e do arquivo /etc/inittab:
# mv /etc/init.d /etc.init.d-backup # cp -a /etc/inittab /etc/inittab.sysvinit
Prossiga com a instalação dos SlackBuilds openrc e openrc-services, o que o fiz com o sbopkg:
# sbopkg -r # sbopkg -i "openrc openrc-services"
Realizada a instalação dos pacotes, substitua o antigo arquivo /etc/inittab pelo arquivo /etc/inittab.new:
# mv -v /etc/inittab.new /etc/inittab
E aproveite para editá-lo, alterando o runlevel que o seu Slack iniciará (caso seja o 3, basta deixar como está!), ou se for como em meu caso troque-o para o runlevel 4, aproveite também para desabilitar algumas ttys se assim quiser.
Voltando ao essencial… habilite alguns serviços padrão:
# rc-update add dbus default # rc-update add sysklogd default # rc-update add dcron default # rc-update add alsasound default # rc-update add consolekit default # rc-update add dhcpcd default # rc-update add xdm default
E para ver se tudo está OK, execute os comandos abaixo:
# rc-status # rc-update
Feito isto, basta executar o comano abaixo para reiniciar seu velho Slack tunado!
# reboot
Se durante o boot, você observar uma mensagem de erro referente ao arquivo /etc/sysctl.conf, para resolver bastará criá-lo:
# touch /etc/sysctl.conf
Em caso de problemas, sugiro a leitura do 1º link das referências.
Observações.
Aqui ainda estou em fase de testes, mas com apenas 1 dia de uso, porém, o que já notei de cara: meu tempo de boot acelerou em 20s e o consumo de RAM reduziu em 50MB.
Algumas coisas ainda tem que ser resolvidas, como por exemplo o meu script /etc/rc.d/rc.squid deixou de ser executado automaticamente, mesmo eu tendo adicionado o squid no runlevel padrão, o que por hora resolvo executando o comando abaixo:
# /etc/rc.d/rc.squid restart
Outra coisa é a utilização forçada do velho gerenciaador de login XDM em vez do meu preferido LXDM, mas isto é um caso particular, creio que a maioria dos Slackers usem o XDM, Slim ou outro qualquer, para o caso do LXDM nada muito difícil, edite o arquivo /etc/conf.d/xdm e altere a linha DISPLAYMANAGER=”xdm” deixando-a assim:
DISPLAYMANAGER="lxdm"
Provavelmente, o mesmo vale para outros DMs (Display Managers), tipo o ssdm, kdm, gdm, slim, etc.
Retornando ao padrão.
Se você não gostar do resultado do OpenRC em seu Slackware, poderá retornar ao estado original, bastando remover os SlackBuilds e restaurando a pasta /etc/init.d-backup e o arquivo /etc/inittab:
# removepkg openrc openrc-services # rm -rf /etc/init.d # mv -v /etc.init.d-backup /etc/init.d # mv -v /etc/inittab.sysvinit /etc/inittab # reboot
Conclusão.
O que deu para observar (na minha opinião) foi o seguinte: como um sistema pode ser acelerado com tão poucos ajustes, isso não deveria ser o padrão?, lembro ainda que o OpenRC pode ficar ainda mais acelerado, basta que você defina a opção rc_parallel para YES no arquivo /etc/rc.conf, porém, advirto que isto não é o padrão.
Aqui eu habilitei a opção rc_parallel e o boot passou a 37s, o mesmo que Funtoo e Debian, já contando com a inicialização automática do LXDM nos 3 sistemas.
Para finalizar, deixo o link de um post recente onde demonstro o boot desse Slackware com o kernel gentoo-sources e o init OpenRC:
VÍDEO :: SLACKWARE + OPENRC & KERNEL GENTOO-SOURCES
Referências.
openrc SlackBuild – README.Slackware
openrc-services SlackBuild – README.Slackware
E tendo dito… fui!
O que dizer? Fodástico??
Meu, maravilhoso. Uma ótima ferramenta num primor de distro…você é o cara.
Em relação ao XDM, não tem como colocar o LXDM dentro do XDM? Digo porque no Gentoo é da mesma forma, o serviço lxdm não existe. Então eu coloquei ele lá no xdm. =]
CurtirCurtir
Obrigado pelo comentário brother.
Eu ainda verei isso, antes o LXDM era chamado pelo script /etc/rc.d/rc.4
Provavelmente a solução está no arquivo /etc/conf.d/xdm, na opção DISPLAYMANAGER=, caso seja isso mesmo, já vale uma dica! 🙂
Sobre o convite eu já lhe enviei, OK?
Um abraço.
CurtirCurtir
Artigo atualizado, sendo adicionadas as partes demonstrando como substituir o Gerenciador de Login e como retornar ao estado original.
CurtirCurtir
Valeu!
Vou testar aqui.
Se não conseguir no meio da semana, no final é certeza.
CurtirCurtir
Beleza brother!
CurtirCurtir
No primeiro teste, na minha instalação principal, o sistema subiu mas sem interface gráfica. Loguei pelo terminal, mas ao tentar subir o Xorg via startx dava erro.
Entre as possibilidades existentes, creio que a principal seja o fato de eu ter o diretório /usr em uma partição separada.
Então tentei em outra instalação do Slack que tenho e… foi com sucesso!!!
essa instalação só tem a /home separada. Não consegui ainda fazer o sddm funcionar, mas já foi um começo. Vou estudar mais as possibilidades.
Andei lendo a documentação do Slack, e o erro do meu primeiro teste também pode ter sido por não remover o mtab.
O consumo de ram continuou o mesmo, creio que vou ter de trabalhar em cima disto. Mas a velocidade de boot com o rc_parallel ativado realmente me economizou 30 segundos.
Meu camarada @edps, muito obrigado por mais este artigo.
CurtirCurtido por 1 pessoa
Valeu meu camarada! que bom que dessa vez você obteve sucesso. Estranhamente eu não precisei remover o /etc/mtab, tanto é que não o citei no artigo. Vou acrescentar esta nota, embora na documentação oficial já existe a observação.
Engraçado é que no Debian e no Funtoo eu não obtive ganho ao habilitar a opção rc_parallel, o boot já estava na casa dos 37s, já no Slackware com OpenRC normal = 47s, com ela ativada = 37s também!
CurtirCurtir
O gerenciador de login gráfico não estava subindo.
Segui a wiki do Gentoo:
https://wiki.gentoo.org/wiki/SDDM
Executei “rc-update add xdm default”
Daí subiu o xdm.
A solução foi mover o /usr/bin/xdm para /usr/bin/xdm_old e criar o /usr/bin/xdm como um link para o sddm.
CurtirCurtido por 1 pessoa
O estranho nisso é que o “rc-update add xdm default” foi citado no artigo, portanto deveria funcionar.
Você chegou a substituir o DM de “xdm” para “ssdm” em /etc/conf.d/xdm? na linha DISPLAYMANAGER=”xyz”?
Continuarei os testes aqui, por hora sei que devo atualizar o artigo, acrescentando aquela nota do /etc/mtab e como reinserir alguns serviços, como o caso do VirtualBox, mas nesse fim de semana trabalharei direto, então acho que não vai me sobrar tempo para isso.
Um abraço.
CurtirCurtir
Sim! Eu já tinha editado o /etc/conf.d/xdm. Também achei estranho.
CurtirCurtir
É, é realmente estranho! rsrs
CurtirCurtir
Olá EDPS, esta semana instalei o OpenRC seguindo sua dica, tive o mesmo problema de não subir o modo gráfico automaticamente, depois de algumas buscas achei isso aqui https://github.com/w41l/wlsbuild/blob/master/openrc/init.d/displaymanager, como uso o KDM e neste script não tem ele editei seguindo o padrão do mesmo e add o KDM e funfou legal boot em 29s do lilo ao login do KDM com a opção de paralelismo ativada.
CurtirCurtir
que bom que funcionou!
CurtirCurtir