You are not logged in.

#1 2010-08-20 19:33:29

Darksoul71
Member
Registered: 2010-04-12
Posts: 319

arch32 init script in wiki incorrect ?

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

#2 2010-08-20 21:27:57

R00KIE
Forum Moderator
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 3,020

Re: arch32 init script in wiki incorrect ?

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

#3 2010-08-21 21:24:48

Darksoul71
Member
Registered: 2010-04-12
Posts: 319

Re: arch32 init script in wiki incorrect ?

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

#4 2010-08-22 11:14:01

R00KIE
Forum Moderator
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 3,020

Re: arch32 init script in wiki incorrect ?

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

Board footer

Powered by FluxBB