Configure o initramfs-tools para adicionar o curl ao initramfs e execute o curl em um script durante a inicialização, enquanto em intitrd no Ubuntu 10.04 Server

3

Estou tentando aprender como o initramfs funciona e como ele pode ser configurado. Eu gostaria que o curl fosse adicionado aos pacotes disponíveis no initramfs, e rodasse um script que usasse o curl durante a inicialização (o que significa que a rede precisa ser configurada, antes disso).

Como devo fazer isso? (Eu preciso que ele funcione ao atualizar meu kernel também.)

    
por Deleted 20.06.2010 / 17:03

2 respostas

4

Você precisa editar seus ganchos initramfs. Crie seu próprio arquivo assim:

$ cat /usr/share/initramfs-tools/hooks/curl
#!/bin/sh -e
PREREQS=""
case $1 in
        prereqs) echo "${PREREQS}"; exit 0;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /usr/bin/curl /bin

Reconstrua seu initramfs:

$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-3.8.0-4-generic

Verifique se realmente chegou lá:

$ lsinitramfs -l /boot/initrd.img-3.8.0-4-generic | grep curl
-rw-r--r--   1 root     root       385704 Nov 28 18:32 usr/lib/x86_64-linux-gnu/libcurl.so.4
-rwxr-xr-x   1 root     root       150344 Nov 28 18:32 bin/curl
    
por 08.02.2013 / 03:07
0

A primeira coisa que você quer saber é que o Ubuntu está usando um sistema chamado Upstart em vez do tradicional init. O ramdisk inicial ainda é usado, mas você estará reconfigurando o upstart em vez do init.

Em segundo lugar, você está querendo fazer isso inteiramente dentro do contexto de um initrd? Se assim for, isso seria muito mais complicado.

    
por 20.06.2010 / 18:59