Can't access tty (initramfs)

Boulette une fois de plus…

Après l’execution d’un shell en ssh, je n’arrive même plus à démarrer une console, même directement sur la machine :

[quote]can’t access tty; job control turned off
(initramfs)[/quote]

Je n’arrive même pas non plus à booter sur un CD d’install bien que l’ordre de boot de l’OS commence bien par le DVD.

Le seul accès console est “grub” par un ctrl+c, mais guère de succès là non plus.

Le shell en question devait initialement chowner et chmoder les fichiers d’un site web, sauf qu’il devait probablement y a voir une, euh… … légère boulette, donc il est très probable que tout le disque ait été “chmodé” et “chowné”, comme il ne devrait pas… :023

Faut-il que je crée ou récupère un LiveCD quelque part pour tenter de vérifier /etc/fstab ou bien … dois-je m’orienter d’emblée sur une réinstall (une fois de plus… :blush: ) ?

Merci d’avance

Salut,
Peux-tu poster la commande ou script que tu as lancé ?

Il se peut que seule la partition / ait été modifiée (et donc que par la suite le parcours ait été impossible, trouve un liveCD et répond à la question de lol également.

Oui merci pour les réponses,

voila plus ou moins le script que j’ai lancé depuis une autre machine, dans un autre shell, en ssh :

[EDIT]: j’avais ajouté des “echo” mais le script coupable du plantage n’avait pas ces “echo Running”

[code]# ##############################

DATAS SETUP

FIND=$(which find)
APACHE_CONFIG=$($FIND /etc/apache2 -name “envvars”)
source $APACHE_CONFIG

echo “Apache user = $APACHE_RUN_USER”

[[ -z $APACHE_RUN_USER ]] && APACHE_RUN_USER=“www-data” && APACHE_RUN_GROUP=$APACHE_RUN_USER

INIT

HOME_DIR=$1
[[ -z $1 ]] && HOME_DIR=$(find / -type d “www” | egrep -v “src|usr|var” | head -n 1)
[[ -z $HOME_DIR ]] && echo “ERR: no home dir found” && exit 1

DEBUG=1

phpBB3

See http://forums.phpbb-fr.com/documentation-phpbb3/sujet141333.html

echo "# ########################"
echo "# phpBB3 forum set up"
echo “# ########################”

#BASEDIR=/home/www/mondomain/phpBB3
BASEDIR=$(find $HOME_DIR -type d -name “phpBB3” | head -n 1)
SPECIALDIR=“files cache store upload”

Files ownership

echo "chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP $BASEDIR"
chown -R $APACHE_RUN_USER:$APACHE_RUN_GROUP $BASEDIR

All files at 644

ACCESS="644"
echo "chmoding all files $ACCESS …"
chmod -R $ACCESS $BASEDIR/*

Configuration file

ACCESS="640"
echo “chmoding config file $ACCESS …”
$FIND $BASEDIR -type f -name “config.php” -exec chmod $ACCESS {} ;

Directories

ACCESS="755"
echo “chmoding all directories $ACCESS…”
$FIND $BASEDIR -type d -exec chmod 755 {} ;

ACCESS="777"
for dir in $SPECIALDIR
do
echo “chmoding $dir $ACCESS…”
$FIND $BASEDIR -type d -name $dir -exec chmod $ACCESS {} ;
done

echo “chmoding done”

PMA

echo "# ########################"
echo "# PMA"
echo “# ########################”

BASEDIR=/usr/local
CFGFILE=“config.inc.php”

Configuration file

echo “chmoding config files 640 …”
$FIND $BASEDIR -type f -name $CFGFILE -exec chmod o-rw {} ;
echo “chmoding done”[/code]

Ben oui, tu fais un

# All files at 644 ACCESS="644" echo "chmoding all files $ACCESS ..." Running chmod -R $ACCESS $BASEDIR/*
sachant BASEDIR=$(find $HOME_DIR -type d -name “phpBB3” | head -n 1)

Si il n’y a pas de répertoire phpBB3 dans HOME_DIR qui est ici /var/www, ben tout passe à 644, aucun répertoire n’est accessible. C’est récupérable pour le système mais il faut un CD Live.

[quote=“hornetbzz”]can’t access tty; job control turned off
(initramfs)[/quote]
Ce message est a priori normal car j’ai le même quand le shell de l’initramfs s’ouvre. Ce sont les messages d’erreur précédents qui sont importants et qui peuvent expliquer pourquoi l’initramfs s’est arrêté.

Comme je n’ai aucun accès console, le seul message que je vois est celui qui précède juste “initramfs” :

[quote]Target filesystem doesn’t have /sbin/init
no init found, Try passing init = bootarg[/quote]

Et les seules commandes auxquelles j’arrivent à accéder sont celles minimales du grub (touche c).

Pire, je n’arrive même plus à booter sur le CD qui m’a servi à l’installation sans rien avoir modifier au boot de l’OS … :017

Ça corrobore un pbm d’accès sur l’arborescence.

Par contre il n’y a aucun rapport avec le boute sur CD (du moins je n’en vois pas), essaye un autre CD ou bien laisse lui le temps de bouter, il essaye peut être d’accéder aux partitions mais ça m’étonne car je ne vois pas ce qui pourrait le gêner…

Comment ça, aucun accès console ? Comment vois-tu ces messages et l’invite du shell de secours de l’initramfs alors ?

Raisons possible à l’absence de /sbin/init :

  • l’initramfs a monté la mauvaise partition comme racine
  • /sbin/init (voire plus) a été effacé ou renommé, voire ses droits d’exécution ont été effacés.

A vérifier dans le shell de secours de l’initramfs si tu y as accès.

initamfs fait un pivot_root et à ce moment là, /dev/console change. Si son /dev est en 640, il ne peut trouver /dev/console lors du pivotroot, ne peut faire le chroot et sort ce message en utilisant le /dev/console du ramfs.

Il faudrait qu’il fasse un

ls -l /

mais je pense que la racine est montée mais que ses droits en 640 empêche le parcours de l’arborescence.

Il me semblait avoir lu que l’initramfs n’utilisait plus pivot_root, contrairement à l’initrd, et se contentait de monter la racine définitive par dessus la racine initiale après l’avoir vidée.

Il utilise run-init qui fonctionne sur le même principe:

Sur ClefAgreg, je fais

ou /ROOT est la racine construite. pivot-root ne libérait pas la racine d’origine, il fallait le faire soi même par

[code]cd /ROOT
pivot_root . oldroot

exec /bin/bash

exec chroot . sh -c ‘exec /sbin/init’ <dev/console >dev/console 2>&1
[/code](ici la vieille racine est mise sur /oldroot et peut être démontée).

Mais pivot_root était très capricieux, j’ai beaucoup tâtonné avant que ça marche.

Désolé pour la reponse tardive, mais comme une galere n’arrive jamais seule, mon pc de developpement a rendu l’âme… De grands moments de bonheur en perspective :119 .

Bref, quand je démarre la Debian, j’ai 3 options :

  1. Generic Kernel
  2. Generic Kernel en “single user mode”
  3. touches “e” et “c”

Les options 1) et 2) ne me permettent pas de booter, probablement du fait des fichiers chmodés 640 et chowné “www-data” avec mon shell foireux…

L’option 3) me conduit à un mode console “grub”, avec peu de commandes dispo, et en ts cas, pas “ls” ni chmod/chown. Donc je ne sais pas comment rétablir les droits/possesseur des fichiers “endommagés”.

L’autre option serait une réinstallation, sauf que là, nouveau probleme: je n’arrive pas à booter sur le LiveCD. Bien que celui-ci soit celui qui m’a servi à installer la machine, et que dans le doute, je l’ai revérifié avec une autre machine.

Donc je suis archi-bloqué.

Auriez vous une piste que je pourrais suivre svp ?

Merci d’avance

Chez moi “(initramfs)” est l’invite du shell de secours de l’initramfs, donc tu devrais pouvoir exécuter des commandes, non ?

Laisse tomber le shell de grub, il ne te sera d’aucune aide à ce stade.

Essaye un autre CD live

Merci

En fait j’ai essayé 4 ou 5 LiveCD, entre des Debian, Ubuntu etc…
ça c’est un probleme de hard.

En résumé de ce que j’ai compris, comme je n’arriverai à rien en grub, je crois qu’il ne me reste qu’à résoudre (ou essayer…) le probleme de hard pour booter sur un Live CD et passer en mode rescue ou autre, qui me permette de récupérer ma config.

Merci encore