Estou usando o atual sistema OpenEmbedded de: link
(Por que vale a pena, também estou puxando camadas do link e link .
Eu construí um conjunto de receitas e uma distro (adaptando-me de um conjunto mais antigo de receitas que funcionou com o OpenEmbedded de alguns anos atrás), que é inicializado assim:
...
[ 2.441070] EXT3-fs (ram0): error: couldn't mount because of unsupported optional features (240)
[ 2.450891] EXT2-fs (ram0): error: couldn't mount because of unsupported optional features (240)
[ 2.466262] EXT4-fs (ram0): mounted filesystem with ordered data mode. Opts: (null)
[ 2.474002] VFS: Mounted root (ext4 filesystem) on device 1:0.
[ 2.480845] devtmpfs: mounted
[ 2.484107] Freeing unused kernel memory: 200K (c066f000 - c06a1000)
INIT: version 2.88 booting
[ 3.200537] EXT4-fs (ram0): re-mounted. Opts: data=ordered
bootlogd: cannot allocate pseudo tty: No such file or directory
[ 3.341168] random: dd urandom read with 9 bits of entropy available
chown: unknown user/group root:root
chown: unknown user/group root:root
chown: unknown user/group root:root
chown: unknown user/group root:root
chown: unknown user/group root:root
chown: unknown user/group root:root
chown: unknown user/group root:root
chown: unknown user/group root:root
INIT: Entering runlevel: 5
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCSIFADDR: No such device
Starting Dropbear SSH server: dropbear.
Starting HOSTAP Daemon: nl80211 not found.
Starting syslogd/klogd: done
Starting tcf-agent: OK
MYDISTRO 0.1 zc706-zynq7 /dev/ttyPS0
zc706-zynq7 login: [ 8.338466] macb e000b000.ps7-ethernet eth0: link up (1000/Full)
zc706-zynq7 login: root
Password:
Login incorrect
zc706-zynq7 login:
(Não se preocupe com os erros "No such device" - posso consertar isso mais tarde.)
O problema aqui é que o método usual de login de username="root" (senha nem solicitada) não funciona. Parece que o usuário root nem existe aqui! Qualquer senha esperada para o root (como vazio, "root", "admin", etc) não funciona. Eu não posso entrar neste sistema.
Depois de fazer algumas depurações de tentativa e erro, eu mudei meu conf / distro / mydistro.conf para comentar estas linhas:
...
# The following features are required by eglibc for a clean build of the sdk.
#DISTRO_FEATURES_LIBC = "libc-libm libc-backtrace libc-spawn libc-locale-code libc-getlogin libc-posix-regexp libc-ftraverse libc-posix-clang-wchar libc-posix-wchar-io libc-inet libc-crypt libc-nsswitch libc-utmp"
#DISTRO_FEATURES = "ext4 usbhost wifi pci ipv4 ipv6 largefile ${DISTRO_FEATURES_LIBC}"
que faz com que o padrão DISTRO_FEATURES seja usado em link (incluído no link , que por sua vez é incluído por link na linha 682).
Agora é inicializado assim:
[ 2.446482] EXT3-fs (ram0): error: couldn't mount because of unsupported optional features (240)
[ 2.456386] EXT2-fs (ram0): error: couldn't mount because of unsupported optional features (240)
[ 2.471774] EXT4-fs (ram0): mounted filesystem with ordered data mode. Opts: (null)
[ 2.479516] VFS: Mounted root (ext4 filesystem) on device 1:0.
[ 2.486308] devtmpfs: mounted
[ 2.489626] Freeing unused kernel memory: 200K (c066f000 - c06a1000)
INIT: version 2.88 booting
[ 3.203046] EXT4-fs (ram0): re-mounted. Opts: data=ordered
bootlogd: cannot allocate pseudo tty: No such file or directory
[ 3.345494] random: dd urandom read with 8 bits of entropy available
INIT: Entering runlevel: 5
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCSIFADDR: No such device
Starting Dropbear SSH server: dropbear.
Starting HOSTAP Daemon: nl80211 not found.
Starting syslogd/klogd: done
Starting tcf-agent: OK
MYDISTRO 0.1 zc706-zynq7 /dev/ttyPS0
zc706-zynq7 login: [ 8.348120] macb e000b000.ps7-ethernet eth0: link up (1000/Full)
zc706-zynq7 login: root
root@zc706-zynq7:~#
Yay, a conta root funciona!
A questão é agora: qual é a chave que está faltando DISTRO_FEATURE que faz a conta root funcionar?