На компьютере с Debian Jessie у меня есть образ rootfs, который я использую таким образом:
mount myimage.img /mnt/myimage
cp /usr/bin/qemu-arm-static /mnt/myimage/usr/bin/
mount --rbind /dev /mnt/myimage/dev
mount -t proc none /mnt/myimage/proc
mount -o bind /sys /myimage/sys
chroot /mnt/myimage
при выходе я делаю обратное:
rm /mnt/myimage/usr/bin/qemu-arm-static
umount /mnt/myimage/sys
umount /mnt/myimage/proc
umount /mnt/myimage/dev
umount -l /mnt/myimage
Но когда я пытаюсь открыть новый терминал на моей машине, я получаю следующую ошибку:
Не удалось выполнить дочерний процесс
Ошибка getpt: файл или каталог не существует (перевод с итальянского)
Возможно, я что-то забыл?
Вы правы насчет абсолютного пути, это каталог разработки с обоими сценариями, но лучше использовать полный путь. Я использую эти команды в скрипте / bin / bash, но поведение остается тем же, даже если я набираю их вручную.
—
Марк
Если вы наберете их по одному, какая команда не выполнится?
—
AFH
Я не вижу никакой ошибки. Но после последнего запуска я не могу открыть новый терминал на моей машине Debian. Мне нужно перезагрузиться, выйти и войти снова, этого недостаточно.
—
Марк
Если посмотреть более подробно,
—
AFH
mount --rbind /dev /mnt/myimage/dev
заменим /dev
каталог тем, что находится в /dev
каталоге на вашем изображении: у вас есть все определения терминалов там?
myimage.img
, потому что текущий каталог может не устанавливаться при выполнении команды. Вы используете~/.bashrc
или~/.bash_login
для команд запуска? Я предполагаю, что команды работают, когда вы вводите их вручную.