Если вы попытались создать как обе руки, так и контейнеры arm64 / aarch64 lxc на моей 64-битной системе.
Перед запуском контейнера я скопировал соответствующий файл armhf . /usr/bin/qemu-arm-static для руки и /usr/bin/qemu-aarch64-static для arm64.
Когда я создаю другой контейнер на основе Ubuntu, мой eth0 имеет адрес ipv4. (используя мостовую сеть)
Я создаю контейнер arm64 следующим образом:
lxc launch ubuntu:15.04/arm64 arm64
cp /usr/bin/qemu-aarch64-static /usr/lib/lxd/containers/arm64/rootfs/usr/bin
lxc start arm64
Я не сделал никаких других изменений.
В контейнере arm64 ifconfig показывает:
eth0 Link encap:Ethernet HWaddr 00:16:3e:e4:d2:de
inet6 addr: fe80::216:3eff:fee4:d2de/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2564 (2.5 KB) TX bytes:578 (578.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
пытается понять очевидные вещи:
/etc/init.d/networking start
yeilds
[....] Starting networking (via systemctl): networking.serviceFailed to get D-Bus connection: No such file or directory
failed!
ifup eth0 дает
/sbin/ifup: failed to open lockfile /run/network/.ifstate.lock: No such file or directory
ip addr yeilds
Cannot open netlink socket: Address family not supported by protocol
Address family not supported by protocol кажется распространенным сообщением об ошибке при запуске различных различных сетевых инструментов - по-видимому, потому, что адрес ipv4 не распознается.
аналогично dhcp client
root@ubuntu:/var/log# dhclient -v
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Error getting interfaces; Address family not supported by protocol
Can't get list of interfaces.
/etc/network/interfaces -
# The loopback network interface
auto lo
iface lo inet loopback
# Source interfaces
# Please check /etc/network/interfaces.d before changing this file
# as interfaces may have been defined in /etc/network/interfaces.d
# NOTE: the primary ethernet device is defined in
# /etc/network/interfaces.d/eth0
# See LP: #1262951
source /etc/network/interfaces.d/*.cfg
, а eth0.cfg -
# The primary network interface
auto eth0
iface eth0 inet dhcp
(кстати, переход на статический ip didn ' t!)
По сравнению с моим контейнером intel в моем контейнере для контейнера / запуска, он очень разрежен, содержащий только lock и systemd (где, как и у intel, он содержит сетевую подпапку и многие другие вещи)
Я угадываю, что это показывает (но я действительно не знаю, что я делаю), что система «start up system» имеет проблемы и не запускала кучу сервисов. journalctl возвращает No journal files were found. и / var / log довольно разрежен, только содержащий: pt btmp dist-upgrade dpkg.log fsck landscape lastlog unattended-upgrades wtmp
Любая помощь будет оценена:)
Обновление:
[d23 ] Когда я пытаюсь запустить systemd-journald вручную, я получаю:qemu: Unsupported syscall: 278
qemu: Unsupported syscall: 74
qemu: Unsupported syscall: 74
Обновление:
с использованием новой версии qemu:
[ f11]из этого PPA https://launchpad.net/~jacob/+archive/ubuntu/virtualisation
улучшил многое. (но до сих пор нет сети ipv4)
/ var / run теперь заполняется ожидаемыми dirs (включая сетевое взаимодействие)
Теперь функция logctl работает и возвращается:
Aug 26 18:02:26 ubuntu systemd-journal[89]: Runtime journal is using 8.0M (max allowed 801.2M, trying to leave 1.1G free of 7.8G available <E2><86><92> current limit 801.2M).
Aug 26 18:02:26 ubuntu systemd-journal[89]: Runtime journal is using 8.0M (max allowed 801.2M, trying to leave 1.1G free of 7.8G available <E2><86><92> current limit 801.2M).
Aug 26 18:02:26 ubuntu systemd-journal[89]: Journal started
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '1' to '/proc/sys/kernel/yama/ptrace_scope': Permission denied
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '176' to '/proc/sys/kernel/sysrq': Permission denied
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '1' to '/proc/sys/fs/protected_hardlinks': Permission denied
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '4 4 1 7' to '/proc/sys/kernel/printk': Permission denied
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '1' to '/proc/sys/kernel/kptr_restrict': Permission denied
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '1' to '/proc/sys/fs/protected_symlinks': Permission denied
Aug 26 18:02:27 ubuntu systemd-sysctl[78]: Failed to write '32768' to '/proc/sys/vm/mmap_min_addr': Permission denied
Aug 26 18:02:27 ubuntu systemd-udevd[74]: error initializing netlink socket
Aug 26 18:02:27 ubuntu systemd-remount-fs[62]: /bin/mount for / exited with exit status 1.
Aug 26 18:02:27 ubuntu systemd-udevd[92]: error initializing netlink socket
Aug 26 18:02:27 ubuntu systemd[1]: Failed to reset devices.list on /system.slice/systemd-journal-flush.service: Operation not permitted
Aug 26 18:02:27 ubuntu systemd[1]: Starting Flush Journal to Persistent Storage...
Aug 26 18:02:27 ubuntu systemd[1]: Started Load/Save Random Seed.
Aug 26 18:02:27 ubuntu systemd-journal[89]: Forwarding to syslog missed 2 messages.
Aug 26 18:02:27 ubuntu systemd-remount-fs[62]: mount: can't find LABEL=cloudimg-rootfs
Aug 26 18:02:27 ubuntu systemd[1]: Started Various fixups to make systemd work better on Debian.
Aug 26 18:02:27 ubuntu mount[67]: mount: permission denied
Aug 26 18:02:27 ubuntu systemd-udevd[108]: error initializing netlink socket
Aug 26 18:02:27 ubuntu systemd[1]: systemd-udevd.service: main process exited, code=exited, status=3/NOTIMPLEMENTED
Aug 26 18:02:27 ubuntu systemd[1]: Failed to start udev Kernel Device Manager.
Aug 26 18:02:27 ubuntu systemd[1]: Unit systemd-udevd.service entered failed state.
Aug 26 18:02:27 ubuntu systemd[1]: systemd-udevd.service failed.
Aug 26 18:02:27 ubuntu systemd[1]: systemd-udevd.service has no holdoff time, scheduling restart.
Aug 26 18:02:27 ubuntu systemd[1]: systemd-udevd-kernel.socket failed to listen on sockets: Address family not supported by protocol
Aug 26 18:02:27 ubuntu systemd[1]: Failed to listen on udev Kernel Socket.
Aug 26 18:02:27 ubuntu systemd[1]: Starting udev Kernel Socket.
Кажется, что соответствующая строка ошибки Aug 26 18:02:27 ubuntu systemd-udevd[92]: error initializing netlink socket
Update
Я попытался запустить ifup eth0 -v как с dhcp, так и с помощью статической конфигурации, и в обоих случаях возникла аналогичная ошибка:
dhcp Error getting interfaces; Address family not supported by protocol
static Cannot open netlink socket: Address family not supported by protocol
(Ответ из-за отсутствия репутации.)
У меня была такая же проблема. Контейнер lxc не получил адрес IPv4. Запуск dhclient eth0 -v привел к сообщению об ошибке, которое, к счастью, привело меня сюда
Ошибка получения интерфейсов; Семейство адресов не поддерживается протоколомЭтот поток действительно спас мой день. После создания нового qemu-двоичного кода я могу подключить контейнеры armhf к моей локальной сети с этим профилем по умолчанию (eno1 является интерфейсом ethernet на моей главной машине):
name: default
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: macvlan
parent: eno1
type: nic
Я использую qemu 2.7 .0, который вы можете скомпилировать из источника и установить на каком-то пути <prefix> с
./configure --target-list=arm-linux-user --static --prefix=<prefix>
make
make install
Перед запуском контейнера armhf просто введите новый qemu там
lxc file push <prefix>/bin/qemu-arm <name>/usr/bin/qemu-arm-static
Другим приятным побочным эффектом является то, что теперь я могу остановить контейнеры без флага --force!