A presente dica é um complemento, atualização, desta outra dica mais antiga:
Usuários de
Sabayon já sabem que essa distribuição usa para sua inicialização, o moderno systemd.
Entretanto, em um micro relativamente antigo, meu Atlhon X2, o systemd não funciona bem e necessitei manter o clássico OpenRC SysVinit. Esse foi o objetivo tratado na dica citada acima.
Após mais de um ano usando OpenRC, eis que, após as atualizações "Rolling Release" do dia 16-03-2015... Pronto, sem boot... Inicialização não executada e sistema montado somente leitura...
Mais um "pepino" do excelente, mas um tanto complicado Sabayon
Linux!
Mexi e fucei até resolver o problema. Por isso, resolvi ajudar a Comunidade Sabayonera, através de mais esta dica. Se você usa Sabayon e também teve este problema, veja como solucionar.
Resumo dos comandos para resolver
Os seguintes comandos, executados diretamente, como root e em ambiente chroot, resolvem os problemas:
# equo update
# equo unmask openrc udev systemd
# equo i -av --nodeps openrc udev systemd xf86-input-evdev
# equo mask systemd udev sysvinit openrc
Resolvido
Para mostrar que os problemas foram resolvidos e que o boot voltou, veja meu screenshot. É Sabayon Linux 15.03 (de março de 2015), aberto em KDE com Kwin e "rolado" por vários anos, desde uma versão original instalada do 5.2. Nunca precisou ser reformatado:
Inclusive, essa mesma instalação tem GNOME 2 mantido e vários outros ambientes gráficos:
Detalhamento
Se quiser ver como descobri e equacionei os problemas, e os resolvi, veja os passos abaixo. Advirto que é necessário ter certa prática com o uso de Sabayon Linux, bem como saber como ele funciona.
1. Porque o problema ocorre?
Inicialmente, verifiquei o que causava o problema. Chequei se os pacotes OpenRC e SysVinit (veja dica anterior, citada acima) estavam instalados.
Mesmo tendo o pacote systemd mascarado (para não entrar), durante as atualizações, o sistema havia perdido o pacote OpenRC e não achava mais o executável "rc", então não inicializava.
2. Primeiro passo: reinstalar OpenRC.
Como não há inicialização, então é necessário "fazer chroot". Se você não sabe como fazê-lo, consulte estas dicas:
Através de um live-CD de Sabayon ou qualquer outra distro, "faça chroot". Assim estará trabalhando "dentro" da instalação de Sabayon que não está inicializando.
Sob o ambiente chroot, atualizei os repositórios do Sabayon, procurei pelo pacote do OpenRC, simulei a instalação e o reinstalei. Faça-o sem as dependências, ou poderá quebrar sua instalação (por causa dessas dependências, que são todas de systemd).
O processo todo pode ser feito com os seguintes comandos:
# equo update
equo s openrc
# equo i -p --nodeps openrc
# equo i -av --nodeps openrc
3. Segundo passo: reinstalar o udev
Após fazer a reinstalação do OpenRC (passo 2), verifiquei que ainda não havia boot, faltava o executável "udev". Procurei por ele, e vi que em Sabayon, só havia um "udev virtual", que não funcionava, mas já estava instalado:
equo s udev
Pacote: virtual/udev-215 branch: 5, [sabayonlinux.org]
Disponível: versão: 215 ~ tag: NoTag ~ revisão: 0
Instalado: versão: 215 ~ tag: NoTag ~ revisão: 0
Slot: 0
Descrição: Virtual to select between different
udev daemon providers
Procurei se havia udev para Gentoo e havia, mas estava já "embutido" dentro do pacote systemd. Vejam:
emerge -s udev
sys-fs/udev
Latest version available: 218
Latest version installed: [ Not Installed ]
Size of files: 3.695 KiB
Homepage: http://www.freedesktop.org/wiki/Software/systemd
Description: Linux dynamic and persistent device naming support (aka userspace devfs)
License: LGPL-2.1 MIT GPL-2
# emerge -av --nodeps sys-fs/udev
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-fs/udev-218::gentoo
>>> Resuming download...
>>> Downloading 'ftp://ftp.las.ic.unicamp.br/pub/gentoo/distfiles/systemd-218.tar.xz'
--2015-03-20 14:10:38-- ftp://ftp.las.ic.unicamp.br/pub/gentoo/distfiles/systemd-218.tar.xz
=> "/usr/portage/distfiles/systemd-218.tar.xz"
Resolvendo ftp.las.ic.unicamp.br... 143.106.60.118
Conectando-se a ftp.las.ic.unicamp.br|143.106.60.118|:21... conectado.
Acessando como anonymous ... Acesso autorizado!
==> SYST ... feito. ==> PWD ... feito.
==> TYPE I ... feito. ==> CWD (1) /pub/gentoo/distfiles ... feito.
==> SIZE systemd-218.tar.xz ... 3782276
==> PASV ... feito. ==> REST 1522796 ... feito.
==> RETR systemd-218.tar.xz ... feito.
Tamanho: 3782276 (3,6M), 2259480 (2,2M) restantes (sem autoridade)
systemd-218.tar.xz 50%[++++++++==> ] 1,82M 232KB/s ^C
Abortei então a instalação em "modo Gentoo" (para não conflitar versões) e optei por usar o próprio pacote systemd do Sabayon (pois já contém o udev). Desmascarei-o e instalei sem as dependências:
# equo unmask systemd
# equo i -av --nodeps systemd
4. Terceiro passo: reinstalar o driver evdev
Após ter executado os passos acima, verifiquei que havia boot, inclusive do sistema gráfico, porém, ainda sem controle de teclado e nem de mouse.
Essa ocorrência de erro foi solucionada pela reinstalação do driver evdev adequado (procedimento reportado por Sabayonino, Itália):
# equo i -av xf86-input-evdev
5. Quarto passo: verificar a presença dos pacotes
Verifiquei então se eu tinha todos os pacotes para poder usar OpenRC, junto com systemd (apenas para rodar o udev). Necessário ter openrc, sysvinit, udev virtual, systemd e xf86-input-evdev:
equo s openrc sysvinit systemd xf86-input-evdev udev
Pacote: sys-apps/openrc-0.13.11 branch: 5, [sabayonlinux.org]
Disponível: versão: 0.13.11 ~ tag: NoTag ~ revisão: 0
Instalado: versão: 0.13.11 ~ tag: NoTag ~ revisão: 0
Slot: 0
Homepage: http://www.gentoo.org/proj/en/base/openrc/
Descrição: OpenRC manages the services, startup
and shutdown of a host
Licença: BSD-2
Pacote: sys-apps/sysvinit-2.88-r10 branch: 5,
Instalado: versão: 2.88-r10 ~ tag: NoTag ~ revisão: 0
Slot: 0
Homepage: http://savannah.nongnu.org/projects/sysvinit
Descrição: /sbin/init - parent of all processes
Licença: GPL-2
Pacote: sys-apps/gentoo-systemd-integration-4 branch: 5, [sabayonlinux.org]
Disponível: versão: 4 ~ tag: NoTag ~ revisão: 1
Instalado: versão: 4 ~ tag: NoTag ~ revisão: 1
Slot: 0
Homepage: https://bitbucket.org/mgorny/gentoo-systemd-integration
Descrição: systemd integration files for
Gentoo
Licença: BSD
Pacote: sys-apps/systemd-215-r3 branch: 5, [sabayonlinux.org]
Disponível: versão: 215-r3 ~ tag: NoTag ~ revisão: 2
Instalado: versão: 215-r3 ~ tag: NoTag ~ revisão: 2
Slot: 0
Homepage: http://www.freedesktop.org/wiki/Software/systemd
Descrição: System and service manager for
Linux
Licença: GPL-2 LGPL-2.1 MIT public-domain
Pacote: x11-drivers/xf86-input-evdev-2.9.1 branch: 5, [sabayonlinux.org]
Disponível: versão: 2.9.1 ~ tag: NoTag ~ revisão: 2
Instalado: versão: 2.9.1 ~ tag: NoTag ~ revisão: 2
Slot: 0
Homepage: http://xorg.freedesktop.org/
Descrição: Generic Linux input driver
Licença: MIT
Pacote: virtual/udev-215 branch: 5, [sabayonlinux.org]
Disponível: versão: 215 ~ tag: NoTag ~ revisão: 0
Instalado: versão: 215 ~ tag: NoTag ~ revisão: 0
Slot: 0
Descrição: Virtual to select between different udev daemon providers
Licença:
6. Sexto passo
Mascarei todos os pacotes novamente, para que as atualizações (ao "forçar" o systemd a ser atualizado) não destruam a infraestrutura OpenRC-SysVinit:
# equo mask systemd udev sysvinit openrc
Mascarados, nem OpenRC, nem systemd serão mais atualizados automaticamente.
Nesta dica, foram aplicados conceitos de atualização controlada de Sabayon:
Nenhum comentário foi encontrado.