Adicionando um arquivo ao / etc do initramfs no Debian Wheezy

6

Eu adicionei o arquivo /etc/initramfs-tools/etc/motd para que ele estivesse disponível em / etc do ambiente initramfs. No entanto, não aparece. Esta é a segunda tentativa em que dei ao arquivo todas as permissões disponíveis (também usei 600):

root@cow:~# ls -l /etc/initramfs-tools/etc/
total 8
drwx------ 2 root root 4096 Sep 19 00:57 dropbear
-rwxrwxrwx 1 root root  117 Sep 29 15:32 motd

Depois disso, eu sudo update-initramfs -u , inicializo no ambiente initramfs e efetuo login por meio do SSH via Dropbear, e o arquivo ainda não está lá:

~ # ls -l /etc
total 20
-rw-------    1 root     0             4077 Sep 29 13:44 boottime.kmap.gz
drwx------    2 root     0                0 Sep 29 13:44 dropbear
-rw-r--r--    1 root     0             1991 Sep 29 13:44 ld.so.cache
-rw-r--r--    1 root     0               34 Sep 18 17:24 ld.so.conf
drwxr-xr-x    2 root     0                0 Sep 18 17:25 ld.so.conf.d
drwx------    2 root     0                0 Sep 29 13:44 lvm
drwx------    2 root     0                0 Sep 29 13:44 mdadm
drwx------    2 root     0                0 Sep 29 13:44 modprobe.d
-rw-------    1 root     0               15 Sep 29 13:44 nsswitch.conf
-rw-------    1 root     0               30 Sep 29 13:44 passwd
drwx------    2 root     0                0 Sep 29 13:44 udev

Como devo adicioná-lo? Por que o caminho acima não funcionou?

    
por bonzaibanzai 29.09.2013 / 15:55

1 resposta

7

Você está colocando seu arquivo mestre no lugar errado. Você quer usar um gancho initramfs.

Dê uma olhada abaixo de /usr/share/initramfs-tools/hooks lá você verá exemplos, mas em breve você quer fazer algo como:

  #!/bin/sh

  PREREQ=""

  prereqs()
  {
          echo "$PREREQ"
  }

  case $1 in
  # get pre-requisites
  prereqs)
          prereqs
          exit 0
          ;;
  esac

  . /usr/share/initramfs-tools/hook-functions
  mkdir -p ${DESTDIR}/etc/motd || true
  cp -pnL /etc/motd ${DESTDIR}/etc/motd
  chmod 644 ${DESTDIR}/etc/motd

Espero que ajude.

Lembre-se de que o script de gancho deve ser executável.

UPDATE : Lembre-se também que, se o seu sistema for inicializado, é provável que o ambiente initramfs tenha sido substituído pelo seu sistema de arquivos raiz. Você deve ser capaz de verificar o que sua imagem initramfs contém via cpio etc.

    
por 29.09.2013 / 16:24