Я налаштовую вбудовану систему, використовуючи systemd-nspawn
для виконання деяких команд навколишнє середовище. Це прекрасно працює, але деякі символічні посилання не створюються.
Це частина мого сценарію:
systemd-nspawn -q --bind /usr/bin/qemu-arm-static -D $MOUNTPATH /bin/bash << EOF
mkdir -p /home/pi/etc/network
cd /home/pi/etc/network
mv /etc/wpa_supplicant/wpa_supplicant.conf .
mv /etc/dhcp/dhcpd.conf .
mv /etc/default/isc-dhcp-server .
mv /etc/network/interfaces .
mv /etc/default/hostapd .
mv /etc/resolv.conf .
ln -s /home/pi/etc/network/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf
ln -s /home/pi/etc/network/interfaces /etc/network/interfaces
ln -s /home/pi/etc/network/dhcpd.conf /etc/dhcp/dhcpd.conf
ln -s /home/pi/etc/network/isc-dhcp-server /etc/default/isc-dhcp-server
ln -s /home/pi/etc/network/hostapd.conf /etc/hostapd/hostapd.conf
ln -s /home/pi/etc/network/hostapd /etc/default/hostapd
ln -s /home/pi/etc/network/resolv.conf /etc/resolv.conf
chown -R pi:pi /home/pi/
EOF
Я отримую декілька подібних помилок у обох move
та ln
командах:
Непідтримуваний йоктл: cmd = 0x40049409
Поведінка досить дивна. Файли, які викликали цю помилку, насправді копіюються та не переміщуються. Я думаю, що посилання створені не тому, що файл існує (хоча це не в консолі, а лише повідомлення вище).
Але НЕ, відкриваючи оболонку systemd-nspawn
і вручну запускаючи ці команди (скопіюйте та вставте зі сценарію вище) працює чудово. Усі файли переміщені та посилання створено.
Яку різницю мені слід шукати?