La plupart des questions Busybox sont liées au fait que les utilisateurs sont déposés dans un shell Busybox en raison de problèmes inconnus au démarrage. Cela doit faire de Busybox l'un des logiciels les plus détestés.
Mon problème est le contraire. Je veux délibérément démarrer Busybox au démarrage soit à partir de GRUB, soit même avant GRUB. Est-ce possible? Comment puis-je le faire? Le but est d'exécuter certaines commandes avant que la séquence de démarrage ne soit relancée. Donc, fondamentalement, je veux exécuter certaines commandes pour mettre du matériel à la disposition du chargeur de démarrage.
Vous devrez créer un initrd personnalisé.
Extraire un initrd, notez que j'utilise ~/initrd
comme répertoire de travail
cp /boot/initrd_your_version ~
cd ~/initrd
gzip -dc ../initrd_your_version | cpio -imvd --no-absolute-filenames
Vous n'avez pas mentionné ce que vous vouliez faire, donc je ne peux que donner des conseils généraux ici.
Maintenant, ajoutez toutes les bibliothèques et/ou binaires dont vous avez besoin dans le ~/initrd
. Utilisez ldd pour identifier les dépendances.
Editez ~/initrd/init, c'est un script Shell, alors ajoutez ce dont vous avez besoin.
Emballez-le
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | gzip -9 > ../initrd-custom.img.your_version
Voir aussi: http://en.gentoo-wiki.com/wiki/Initramfs
Bien sûr, ce lien est gentoo, mais je ne connais aucun document détaillé pour Ubuntu.
Voir aussi: http://www.busybox.net/about.html
J'ai utilisé cette méthode pour déverrouiller une partition cryptée à distance, donc je suppose que cela pourrait fonctionner pour votre besoin.
dropbear
dans les initramfs.apt-get install openssh-server dropbear busybox
scp [email protected]:/etc/initramfs-tools/root/.ssh/id_rsa ~/id_rsa.initramfs
/etc/default/grub
et ajoutez une ligne similaire avec votre configuration:GRUB_CMDLINE_LINUX="ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>"
update-grub
et
reboot
Faites attention car les différentes versions de grub ont différentes options de configuration.
Vous devriez maintenant pouvoir vous connecter à distance via votre clé SSH et passer quelques commandes sur le processus de démarrage.
Vous pouvez trouver plus d'informations ici .