You are not logged in.
Hi all,
after the death of my 500GB SATA drive I had to (re)install arch64 on my box. For setting up the arch32 chroot I followed the guide as found in the wiki here:
http://wiki.archlinux.org/index.php/Ins … _in_Arch64
Unfortunately this new arch32 init script...
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
dirs=(/proc /proc/bus/usb /dev /dev/pts /dev/shm /sys /tmp /home)
case $1 in
start)
stat_busy "Starting Arch32 chroot"
for d in "${dirs[@]}"; do
mount --bind $d /opt/arch32/$d
done
add_daemon arch32
stat_done
;;
stop)
stat_busy "Stopping Arch32 chroot"
for d in "${dirs[@]}"; do
umount -l /opt/arch32/$d
done
rm_daemon arch32
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0
...gives me the following error when I try to start the 32 bit chroot:
:: Starting Arch32 chroot [DONE]
./arch32_new: Zeile 16: : Kommando nicht gefunden. <- this means command not found.
Fortunately I had archived several pages from the wiki as pdf when I set back my first arch64 system. The old arch32 init script looks like this:
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case $1 in
start)
stat_busy "Starting Arch32 chroot"
mount --bind /proc /opt/arch32/proc
mount --bind /proc/bus/usb /opt/arch32/proc/bus/usb
mount --bind /dev /opt/arch32/dev
mount --bind /dev/pts /opt/arch32/dev/pts
mount --bind /dev/shm /opt/arch32/dev/shm
mount --bind /sys /opt/arch32/sys
mount --bind /tmp /opt/arch32/tmp
mount --bind /home /opt/arch32/home
add_daemon arch32
stat_done
;;
stop)
stat_busy "Stopping Arch32 chroot"
umount /opt/arch32/proc/bus/usb
umount /opt/arch32/proc
umount /opt/arch32/dev/pts
umount /opt/arch32/dev/shm
umount /opt/arch32/dev
umount /opt/arch32/sys
umount /opt/arch32/tmp
umount /opt/arch32/home
rm_daemon arch32
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0
This one works perfectly for me.
Questions:
- Has anyone of you used the new script without error message ?
- What could cause the "command missing" error message ?
I can post the old script in the wiki if the new one has errors.
Regards,
D$
My archlinux x86_64 host:
AMD E350 (2x1.6GHz) / 8GB DDR3 RAM / GeForce 9500GT (passive) / Arch running from 16GB USB Stick
Offline
The script does seem to be a little broken alright, try with this one (untested)
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
dirs=(proc proc/bus/usb dev dev/pts dev/shm sys tmp home)
case $1 in
start)
stat_busy "Starting Arch32 chroot"
for d in "${dirs[@]}"; do
mount --bind /$d /opt/arch32/$d
done
add_daemon arch32
stat_done
;;
stop)
stat_busy "Stopping Arch32 chroot"
for d in "${dirs[@]}"; do
umount -l /opt/arch32/$d
done
rm_daemon arch32
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
Thanks for the modified script.
Starting the 32 chroot at least gives no errors.
Stopping results in those errors:
umount: /opt/arch32/proc/bus/usb: Nicht gefunden
umount: /opt/arch32/dev/pts: Nicht gefunden
umount: /opt/arch32/dev/shm: Nicht gefunden
The wiki itself just suggests the generation of those directories:
reate necessary directories for the new system. Note that /opt/arch32/var/lib/dbus is required here because you are not going to install dbus in the sub-system, and you would still want to access the 64-bit dbus in your 32-bit subsystem.
mkdir -p /opt/arch32/var/{cache/pacman/pkg,lib/pacman,lib/dbus}
My archlinux x86_64 host:
AMD E350 (2x1.6GHz) / 8GB DDR3 RAM / GeForce 9500GT (passive) / Arch running from 16GB USB Stick
Offline
Those errors about /opt/arch32/proc/bus/usb, /opt/arch32/dev/pts and /opt/arch32/dev/shm seem normal because you unmount /proc before /proc/bus/usb therefore it will not be there, the same goes for the other errors.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline