Setting up a slim 32-bit chroot

My purpose of setting up a 32-bit chroot is to play some 32-bit games. When I install nvidia, it pulls in a bunch of other dependencies, such as kernel26, mkinitcpio, xorg (via nvidia-utils), and probably a bunch of other stuff.
The wiki wasn't exactly clear. At first it said I could clean up the environment a bit by getting rid of kernel26 and mkinitcpio. However, it says to install nvidia, simply put:
# pacman -S nvidia
Like I said, this pulls in a BUNCH of things, which may or may not be necessary. The kernel I'm not so sure about, but I'm pretty sure I don't need mkinitcpio and another X server running.

If hard disk space is not a big problem, I'd suggest just leaving things as they are. If it is, you should just force remove them after installing nvidia. Be aware that the next nvidia update would probably pull them back in, and you'd have to do it all over again.
You could probably just have a script to remove everything you know you won't need (don't forget to clear the cache).

Similar Messages

  • [SOLVED] Problems with setting up 32-bit chroot environment

    Recently I've moved to Arch64 and decided to build chroot environment in order to have a working flashplugin, Java and some other applications without messing up system libraries of two different architectures. I've followed directly instrucions from the wiki, but unfortunately still can't make it work. I'm stuck with
    Kod:
    bash-3.2# /etc/rc.d/arch32 start
    :: Starting Arch32 chroot [DONE]
    bash-3.2# xhost +local:
    No protocol specified
    xhost: unable to open display ":0.0"
    bash-3.2# chroot /opt/arch32
    I've googled a lot, asked on Polish Arch Linux forum, but so far I wasn't able to find a working solution. Can someone more experienced give me a hand with this?
    Last edited by Zibi1981 (2008-11-14 22:35:48)

    I have a working 32 bits chroot on a 64 bits system. My /etc/rc.d/arch32:
    #!/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
    I have the arch32 daemon in my /etc/rc.conf and I run this when I want to use the chroot:
    #!/bin/sh
    /etc/rc.d/arch32 start
    xhost +local:
    chroot /opt/arch32 su -l username -c "linux32 zsh"
    Is it similar to your setup?

  • Not enough disk space in 32-bit chroot [SOLVED]

    Hi all,
    I am trying to set up a 32-bit chroot on my Arch64 system.
    I have followed the steps detailed in the wiki http://wiki.archlinux.org/index.php/Arc … bit_system
    When I tried to install the fonts, it complained of not enough space on the disk:
    pacman -Sy ttf-bitstream-vera ttf-ms-fonts
    :: Synchronising package databases...
    current is up to date
    extra is up to date
    community is up to date
    resolving dependencies... done.
    looking for inter-conflicts... done.
    Targets: expat-2.0.0-1 freetype2-2.3.4-2 fontconfig-2.4.2-1
    libfontenc-1.0.4-1 fontsproto-2.0.2-1 libxfont-1.2.8-1
    xorg-font-utils-1.0.3-2 xorg-fonts-encodings-1.0.2-2
    ttf-bitstream-vera-1.10-5 cabextract-1.2-1 ttf-ms-fonts-2.0-1
    Total Package Size: 9.64 MB
    Proceed with installation? [Y/n]
    :: Retrieving packages from current...
    expat 149.2K 92.9K/s 00:00:02 [#####################] 100%
    freetype2 698.9K 47.0K/s 00:00:15 [#####################] 100%
    fontconfig 316.2K 94.8K/s 00:00:03 [#####################] 100%
    libfontenc 14.9K 42.9K/s 00:00:00 [#####################] 100%
    fontsproto 9.7K 51.9K/s 00:00:00 [#####################] 100%
    libxfont 470.4K 68.1K/s 00:00:07 [#####################] 100%
    xorg-font-utils 100.7K 46.8K/s 00:00:02 [#####################] 100%
    xorg-fonts-encodings 567.6K 80.1K/s 00:00:07 [#####################] 100%
    ttf-bitstream-vera 338.8K 64.8K/s 00:00:05 [#####################] 100%
    :: Retrieving packages from extra...
    cabextract 29.2K 57.0K/s 00:00:01 [#####################] 100%
    ttf-ms-fonts 7.0M 103.3K/s 00:01:09 [#####################] 100%
    checking package integrity... done.
    cleaning up... done.
    (11/11) checking for file conflicts [#####################] 100%
    error: could not prepare transaction
    error: failed to commit transaction (not enough space on disk)
    This is strange, as my disk space is as follows:
    df -h #(from my 64-bit system)
    Filesystem Size Used Avail Use% Mounted on
    /dev/sdb3 69G 2.7G 63G 5% /
    none 1007M 0 1007M 0% /dev/shm
    /dev/sdb6 66G 23G 43G 35% /home
    /dev/sda1 150G 32G 118G 22% /mnt/windows
    But from the chroot:
    df -h
    df: cannot read table of mounted file systems
    Is there anything I'm doing wrong here?
    Thanks
    Last edited by JAwuku (2007-06-09 19:40:09)

    Pierre wrote:Just copy your /etc/mtab into your chroot environment.
    Thanks, Pierre, that did the trick! 

  • 32-bit chroot failed to start

    I was going about the process to set up the 32-bit chroot so I could use Adobe Acrobat on my system, but systemctl failed to start the service. Output of "systemctl status arch32.service" is as follows:
    Loaded: loaded (/etc/systemd/system/arch32.service; disabled; vendor preset: disabled)
    Active: failed (Result: exit-code) since Fri 2015-05-29 18:10:29 EDT; 11s ago
    Process: 1295 ExecStart=/usr/local/bin/arch32 start (code=exited, status=1/FAILURE)
    Main PID: 1295 (code=exited, status=1/FAILURE)
    May 29 18:10:29 the-enforcer systemd[1]: Starting 32-bit chroot...
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service: main process exited, code=exited, status=1/FAILURE
    May 29 18:10:29 the-enforcer systemd[1]: Failed to start 32-bit chroot.
    May 29 18:10:29 the-enforcer systemd[1]: Unit arch32.service entered failed state.
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service failed.
    output of "journalctl -xe" is as follows
    -- Subject: Unit arch32.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Unit arch32.service has failed.
    -- The result is failed.
    May 29 18:09:07 the-enforcer systemd[1]: Unit arch32.service entered failed state.
    May 29 18:09:07 the-enforcer systemd[1]: arch32.service failed.
    May 29 18:09:07 the-enforcer polkitd[309]: Unregistered Authentication Agent for unix-process:1242:62178 (system bus name :1.65, object path /org/freedesktop/PolicyKit1/Authen
    May 29 18:09:07 the-enforcer sudo[1241]: pam_unix(sudo:session): session closed for user root
    May 29 18:09:25 the-enforcer sudo[1258]: shaun : TTY=pts/0 ; PWD=/home/shaun ; USER=root ; COMMAND=/usr/local/bin/arch32 start
    May 29 18:09:25 the-enforcer sudo[1258]: pam_unix(sudo:session): session opened for user root by shaun(uid=0)
    May 29 18:09:25 the-enforcer sudo[1258]: pam_unix(sudo:session): session closed for user root
    May 29 18:09:51 the-enforcer /usr/lib/gdm/gdm-x-session[517]: Activating service name='org.gnome.Terminal'
    May 29 18:09:51 the-enforcer /usr/lib/gdm/gdm-x-session[517]: Successfully activated service 'org.gnome.Terminal'
    May 29 18:10:02 the-enforcer sudo[1281]: shaun : TTY=pts/0 ; PWD=/home/shaun ; USER=root ; COMMAND=/usr/local/bin/arch32 stop
    May 29 18:10:02 the-enforcer sudo[1281]: pam_unix(sudo:session): session opened for user root by shaun(uid=0)
    May 29 18:10:03 the-enforcer sudo[1281]: pam_unix(sudo:session): session closed for user root
    May 29 18:10:29 the-enforcer sudo[1289]: shaun : TTY=pts/0 ; PWD=/home/shaun ; USER=root ; COMMAND=/usr/bin/systemctl start arch32.service
    May 29 18:10:29 the-enforcer sudo[1289]: pam_unix(sudo:session): session opened for user root by shaun(uid=0)
    May 29 18:10:29 the-enforcer polkitd[309]: Registered Authentication Agent for unix-process:1290:70456 (system bus name :1.66 [/usr/bin/pkttyagent --notify-fd 5 --fallback], o
    May 29 18:10:29 the-enforcer systemd[1]: Starting 32-bit chroot...
    -- Subject: Unit arch32.service has begun start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Unit arch32.service has begun starting up.
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service: main process exited, code=exited, status=1/FAILURE
    May 29 18:10:29 the-enforcer systemd[1]: Failed to start 32-bit chroot.
    -- Subject: Unit arch32.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Unit arch32.service has failed.
    -- The result is failed.
    May 29 18:10:29 the-enforcer systemd[1]: Unit arch32.service entered failed state.
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service failed.
    May 29 18:10:29 the-enforcer sudo[1289]: pam_unix(sudo:session): session closed for user root
    May 29 18:10:29 the-enforcer polkitd[309]: Unregistered Authentication Agent for unix-process:1290:70456 (system bus name :1.66, object path /org/freedesktop/PolicyKit1/Authen
    lines 1322-1364/1364 (END)
    Here's what my arch32.service file looks like:
    [Unit]
    Description=32-bit chroot
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/local/bin/arch32 start
    ExecStop=/usr/local/bin/arch32 stop
    [Install]
    WantedBy=multi-user.target
    Here's what my /usr/local/bin/arch32 file looks like
    #!/bin/bash
    ## User variables.
    MOUNTPOINT=/opt/arch32
    ## Set MANAGEPARTITION to any value if /opt/arch32 resides on a separate
    ## partition and not mounted by /etc/fstab or some other means.
    ## If /opt/arch32 is part of your rootfs, leave this empty.
    MANAGEPARTITION=
    ## Leave USEDISTCC empty unless you wish to use distccd from within the chroot.
    USEDISTCC=
    DISTCC_SUBNET='10.9.8.0/24'
    ## PIDFILE shouldn't need to ba changed from this default.
    PIDFILE=/run/arch32
    start_distccd() {
    [[ ! -L "$MOUNTPOINT"/usr/bin/distccd-chroot ]] &&
    ln -s /usr/bin/distccd "$MOUNTPOINT"/usr/bin/distccd-chroot
    DISTCC_ARGS="--user nobody --allow $DISTCC_SUBNET --port 3692 --log-level warning --log-file /tmp/distccd-i686.log"
    [[ -z "$(pgrep distccd-chroot)" ]] &&
    linux32 chroot "$MOUNTPOINT" /bin/bash -c "/usr/bin/distccd-chroot --daemon $DISTCC_ARGS"
    stop_distccd() {
    [[ -n "$(pgrep distccd-chroot)" ]] &&
    linux32 chroot "$MOUNTPOINT" /bin/bash -c "pkill -SIGTERM distccd-chroot"
    case $1 in
    start)
    [[ -f "$PIDFILE" ]] && exit 1
    if [[ -n "$MANAGEPARTITION" ]]; then
    mountpoint -q $MOUNTPOINT || mount LABEL="arch32" $MOUNTPOINT
    fi
    dirs=(/tmp /dev /dev/pts /home)
    for d in "${dirs[@]}"; do
    mount -o bind $d "$MOUNTPOINT"$d
    done
    mount -t proc none "$MOUNTPOINT/proc"
    mount -t sysfs none "$MOUNTPOINT/sys"
    touch "$PIDFILE"
    [[ -n "$USEDISTCC" ]] && start_distccd
    stop)
    [[ ! -f "$PIDFILE" ]] && exit 1
    [[ -n "$USEDISTCC" ]] && stop_distccd
    if [[ -n "$MANAGEPARTITION" ]]; then
    umount -R -A -l "$MOUNTPOINT"
    else
    dirs=(/home /dev/pts /dev /tmp)
    [[ -n "$USEDISTCC" ]] && stop_distccd
    umount "$MOUNTPOINT"/{sys,proc}
    for d in "${dirs[@]}"; do
    umount -l "$MOUNTPOINT$d"
    done
    fi
    rm -f "$PIDFILE"
    echo "usage: $0 (start|stop)"
    exit 1
    esac
    Any ideas as to what's going on?

    I was going about the process to set up the 32-bit chroot so I could use Adobe Acrobat on my system, but systemctl failed to start the service. Output of "systemctl status arch32.service" is as follows:
    Loaded: loaded (/etc/systemd/system/arch32.service; disabled; vendor preset: disabled)
    Active: failed (Result: exit-code) since Fri 2015-05-29 18:10:29 EDT; 11s ago
    Process: 1295 ExecStart=/usr/local/bin/arch32 start (code=exited, status=1/FAILURE)
    Main PID: 1295 (code=exited, status=1/FAILURE)
    May 29 18:10:29 the-enforcer systemd[1]: Starting 32-bit chroot...
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service: main process exited, code=exited, status=1/FAILURE
    May 29 18:10:29 the-enforcer systemd[1]: Failed to start 32-bit chroot.
    May 29 18:10:29 the-enforcer systemd[1]: Unit arch32.service entered failed state.
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service failed.
    output of "journalctl -xe" is as follows
    -- Subject: Unit arch32.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Unit arch32.service has failed.
    -- The result is failed.
    May 29 18:09:07 the-enforcer systemd[1]: Unit arch32.service entered failed state.
    May 29 18:09:07 the-enforcer systemd[1]: arch32.service failed.
    May 29 18:09:07 the-enforcer polkitd[309]: Unregistered Authentication Agent for unix-process:1242:62178 (system bus name :1.65, object path /org/freedesktop/PolicyKit1/Authen
    May 29 18:09:07 the-enforcer sudo[1241]: pam_unix(sudo:session): session closed for user root
    May 29 18:09:25 the-enforcer sudo[1258]: shaun : TTY=pts/0 ; PWD=/home/shaun ; USER=root ; COMMAND=/usr/local/bin/arch32 start
    May 29 18:09:25 the-enforcer sudo[1258]: pam_unix(sudo:session): session opened for user root by shaun(uid=0)
    May 29 18:09:25 the-enforcer sudo[1258]: pam_unix(sudo:session): session closed for user root
    May 29 18:09:51 the-enforcer /usr/lib/gdm/gdm-x-session[517]: Activating service name='org.gnome.Terminal'
    May 29 18:09:51 the-enforcer /usr/lib/gdm/gdm-x-session[517]: Successfully activated service 'org.gnome.Terminal'
    May 29 18:10:02 the-enforcer sudo[1281]: shaun : TTY=pts/0 ; PWD=/home/shaun ; USER=root ; COMMAND=/usr/local/bin/arch32 stop
    May 29 18:10:02 the-enforcer sudo[1281]: pam_unix(sudo:session): session opened for user root by shaun(uid=0)
    May 29 18:10:03 the-enforcer sudo[1281]: pam_unix(sudo:session): session closed for user root
    May 29 18:10:29 the-enforcer sudo[1289]: shaun : TTY=pts/0 ; PWD=/home/shaun ; USER=root ; COMMAND=/usr/bin/systemctl start arch32.service
    May 29 18:10:29 the-enforcer sudo[1289]: pam_unix(sudo:session): session opened for user root by shaun(uid=0)
    May 29 18:10:29 the-enforcer polkitd[309]: Registered Authentication Agent for unix-process:1290:70456 (system bus name :1.66 [/usr/bin/pkttyagent --notify-fd 5 --fallback], o
    May 29 18:10:29 the-enforcer systemd[1]: Starting 32-bit chroot...
    -- Subject: Unit arch32.service has begun start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Unit arch32.service has begun starting up.
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service: main process exited, code=exited, status=1/FAILURE
    May 29 18:10:29 the-enforcer systemd[1]: Failed to start 32-bit chroot.
    -- Subject: Unit arch32.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Unit arch32.service has failed.
    -- The result is failed.
    May 29 18:10:29 the-enforcer systemd[1]: Unit arch32.service entered failed state.
    May 29 18:10:29 the-enforcer systemd[1]: arch32.service failed.
    May 29 18:10:29 the-enforcer sudo[1289]: pam_unix(sudo:session): session closed for user root
    May 29 18:10:29 the-enforcer polkitd[309]: Unregistered Authentication Agent for unix-process:1290:70456 (system bus name :1.66, object path /org/freedesktop/PolicyKit1/Authen
    lines 1322-1364/1364 (END)
    Here's what my arch32.service file looks like:
    [Unit]
    Description=32-bit chroot
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/local/bin/arch32 start
    ExecStop=/usr/local/bin/arch32 stop
    [Install]
    WantedBy=multi-user.target
    Here's what my /usr/local/bin/arch32 file looks like
    #!/bin/bash
    ## User variables.
    MOUNTPOINT=/opt/arch32
    ## Set MANAGEPARTITION to any value if /opt/arch32 resides on a separate
    ## partition and not mounted by /etc/fstab or some other means.
    ## If /opt/arch32 is part of your rootfs, leave this empty.
    MANAGEPARTITION=
    ## Leave USEDISTCC empty unless you wish to use distccd from within the chroot.
    USEDISTCC=
    DISTCC_SUBNET='10.9.8.0/24'
    ## PIDFILE shouldn't need to ba changed from this default.
    PIDFILE=/run/arch32
    start_distccd() {
    [[ ! -L "$MOUNTPOINT"/usr/bin/distccd-chroot ]] &&
    ln -s /usr/bin/distccd "$MOUNTPOINT"/usr/bin/distccd-chroot
    DISTCC_ARGS="--user nobody --allow $DISTCC_SUBNET --port 3692 --log-level warning --log-file /tmp/distccd-i686.log"
    [[ -z "$(pgrep distccd-chroot)" ]] &&
    linux32 chroot "$MOUNTPOINT" /bin/bash -c "/usr/bin/distccd-chroot --daemon $DISTCC_ARGS"
    stop_distccd() {
    [[ -n "$(pgrep distccd-chroot)" ]] &&
    linux32 chroot "$MOUNTPOINT" /bin/bash -c "pkill -SIGTERM distccd-chroot"
    case $1 in
    start)
    [[ -f "$PIDFILE" ]] && exit 1
    if [[ -n "$MANAGEPARTITION" ]]; then
    mountpoint -q $MOUNTPOINT || mount LABEL="arch32" $MOUNTPOINT
    fi
    dirs=(/tmp /dev /dev/pts /home)
    for d in "${dirs[@]}"; do
    mount -o bind $d "$MOUNTPOINT"$d
    done
    mount -t proc none "$MOUNTPOINT/proc"
    mount -t sysfs none "$MOUNTPOINT/sys"
    touch "$PIDFILE"
    [[ -n "$USEDISTCC" ]] && start_distccd
    stop)
    [[ ! -f "$PIDFILE" ]] && exit 1
    [[ -n "$USEDISTCC" ]] && stop_distccd
    if [[ -n "$MANAGEPARTITION" ]]; then
    umount -R -A -l "$MOUNTPOINT"
    else
    dirs=(/home /dev/pts /dev /tmp)
    [[ -n "$USEDISTCC" ]] && stop_distccd
    umount "$MOUNTPOINT"/{sys,proc}
    for d in "${dirs[@]}"; do
    umount -l "$MOUNTPOINT$d"
    done
    fi
    rm -f "$PIDFILE"
    echo "usage: $0 (start|stop)"
    exit 1
    esac
    Any ideas as to what's going on?

  • Wine-stable & 32 bit chroot.

    I tried to install wine-stable from the AUR but am getting these errors when I run makepkg.
    dave@localhost ~/builds/wine-stable $ makepkg
    ==> Making package: wine-stable 1.4.1-1 (Thu Mar  7 11:21:31 SAST 2013)
    ==> Checking runtime dependencies...
    ==> Missing Dependencies:
      -> lib32-mesa
    ==> Checking buildtime dependencies...
    ==> Missing Dependencies:
      -> fontforge
      -> prelink
      -> gcc-multilib>=4.5.0-2
      -> lib32-giflib
      -> lib32-libpng
      -> lib32-gnutls
      -> lib32-libxinerama
      -> lib32-libxcomposite
      -> lib32-libxmu
      -> lib32-libxml2
      -> lib32-libldap
      -> lib32-lcms
      -> lib32-mpg123
      -> lib32-openal
      -> lib32-v4l-utils
      -> lib32-alsa-lib
    ==> ERROR: Could not resolve all dependencies.
    I've installed a 32 bit chroot system in /opt/arch32  by following the instructions here: https://wiki.archlinux.org/index.php/In … _in_Arch64
    Copying the wine-stable PKGBUILD to the /opt/arch32/builds/wine-stable directory and chrooting into the arch32 system, then running makepkg gives these errors.
    [dave@localhost wine-stable]$ makepkg
    ==> Making package: wine-stable 1.4.1-1 (Thu Mar  7 12:07:36 SAST 2013)
    ==> Checking runtime dependencies...
    ==> Missing Dependencies:
      -> fontconfig
      -> mesa
      -> libxcursor
      -> libxrandr
      -> libxdamage
      -> libxi
      -> desktop-file-utils
    ==> Checking buildtime dependencies...
    ==> Missing Dependencies:
      -> fontforge
      -> prelink
      -> giflib
      -> libpng
      -> gnutls
      -> libxinerama
      -> libxcomposite
      -> libxmu
      -> libxxf86vm
      -> libxml2
      -> lcms
      -> mpg123
      -> openal
      -> v4l-utils
      -> alsa-lib
    ==> ERROR: Could not resolve all dependencies.
    If I try to install these (still chrooted in arch32), I get errors:
    pacman -S fontconfig
    error: failed to prepare transaction (package architecture is not valid)
    :: package fontconfig-2.10.2-1-i686 does not have a valid architecture

    bohoomil wrote:Are you sure your chroot is set up correctly? What are the values of "CARCH" and "CHOST" in /opt/arch32/etc/makepkg.conf (should be "i686" and "i686-pc-linux-gnu" respectively) and "Architecture" in /opt/arch32/etc/pacman.conf (should be set to "i686", the multilib repo should be disabled)?
    CARCH="i686"
    CHOST="i686-pc-linux-gnu"
    Architecture is set to 'auto'.
    Architecture = auto
    Multilib is not mentioned in /opt/arch32/etc/pacman.conf. I assume that means that it is disabled?

  • Arch32-light: minimal 32-bit chroot

    Project page: http://xyne.archlinux.ca/projects/arch32-light
    *edit: check the project page above for up-to-date information*
    I finally got around to going through the 32-bit chroot setup guide in the wiki and ended up with this. The project and man pages should explain everything.
    As always, questions, suggestions and feedback are welcome.
    Related: What's the best way to detect the chroot for the sake of setting the PS1 variable?
    Last edited by Xyne (2011-12-10 19:37:00)

    Xyne wrote:It's left to the user to install locale-gen if they want it. If you look closely at the arch32.conf file, it doesn't actually copy over files that don't yet exist in the chroot. Both locale.gen and locale.sh will only be copied if the user has installed locale-gen in the chroot. I've done it this way to avoid file conflicts when installing packages in the chroot with pacman.
    Ah, I missed that. Thanks for the clarification.
    The bauerbill alias that you've posted needs to be changed to work with arch32-light because the pacman32 configuration file and mirrorlist are located at /opt/arch32/etc/pacman32.conf and /opt/arch32/etc/pacman32.d/mirrorlist. This is to ensure that pacman32 in the host remains independent of pacman in the chroot (the base installation doesn't even include pacman in the chroot).
    Yes, I caught that right after I posted it. I'll fix the alias.
    Edit: Done.
    I've never actually used schroot so I didn't know that it mounted anything itself. Note though that all the hook does is make sure that the daemon is running, which is expected anyway, so I don't think it can hurt to have the extra check. Aside from ensuring that the correct directories are mounted in the chroot, it also prevents files from being created inside the empty mountpoints.
    Schroot has a precofigured makeshift fstab file for arch32 under /etc/schroot/mount-arch32. Since I never really did anything else with my chroot aside from running applications installed by pacman32 (or bb32 in my case), I left it to schroot to mount my stuff. That way I also didn't need to run the arch32 daemon the wiki specified. If I actually needed shell access to the chroot, I just launched schroot -p -- bash or schroot -p -- zsh. (I don't know if this could give rise to any security issues, though). I didn't try the more exotic cases however, like installing applications that need to change CDs in the middle of the process in chrooted wine…
    I'll play around with schroot a bit to see if any issues come up with the mounts.
    Last edited by Runiq (2010-05-24 12:10:45)

  • [SOLVED]How to use pulseaudio with in 32 bit chroot on ARch64

    I am trying to running some 32bit software from chroot environment on Arch64.
    I set up pulseaudio on Arch64 property.
    However, within 32 bit chroot, I cannot use pulseaudio.
    For an example,
    arch32 chroot /home/xxxx/Audio > paplay Front_Center.wav
    Connection failure: Connection refused
    How can I fix this?
    Last edited by phabulosa (2008-04-27 19:37:15)

    I made this to work by the following steps:
    1. Install pulseaudio and alsa-plugin stuff in Arch32;
    2. Edit /etc/pulse/default.pa on Arch64 and enable "load-module module-native-protocol-tcp";
    3. Edit /etc/rc.d/pulseaudio and add a line "cp /var/run/pulse/.pulse-cookie /opt/arch32/etc/pulse-cookie" after pulseaudio line in 'start' part;
    4. Add some lines in /etc/hosts.allow on Arch64 (some of them may not be necessary) ;
    pulseaudio-native: 127.0.0.1
    pulseaudio-simple: 127.0.0.1
    pulseaudio-cli: 127.0.0.1
    pulseaudio-http: 127.0.0.1
    esound: 127.0.0.1
    5. Follow the "PulseAudio over Network" in Arch Wiki on Pulse audio http://wiki.archlinux.org/index.php/Pul … er_network and configure my Arch32 as a remote client on the network while setting the server address as 127.0.0.1;
    6. Restart Pulseaudio daemon on Arch64 and Run "paplay" on Arch32 to test.

  • Zsnes and 32 bit chroot issue

    I set up a 32 bit chroot for zsnes, as per the directions given in the wiki. Standardly, everything works fine, and running
    dchroot -d zsnes
    loads it just fine.
    I didn't want the chroot to have access to my home directory, though, so I commented out the lines in /etc/rc.d/arch32 that mount-binded /home to /opt/arch32/home. I copied my ~./zsnes folder to /opt/arch32/home/my-username/.zsnes, figuring that zsnes wouldn't be able to tell the difference between that and the default setup. However, without /home mounted, when I try to run zsnes, i get:
    [greg@trollhammaren ~]$ zsnes
    (arch32) zsnes
    ZSNES v1.51, (c) 1997-2007, ZSNES Team
    Be sure to check http://www.zsnes.com/ for the latest version.
    ZSNES is written by the ZSNES Team (See AUTHORS.TXT)
    ZSNES comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to redistribute it under certain conditions;
    please read 'LICENSE.TXT' thoroughly before doing so.
    Use ZSNES -? for command line definitions.
    Starting Mouse detection.
    Unable to poll /dev/input/event6. Make sure you have read permissions to it.
    Unable to poll /dev/input/event3. Make sure you have read permissions to it.
    Unable to poll /dev/input/event5. Make sure you have read permissions to it.
    Unable to poll /dev/input/event2. Make sure you have read permissions to it.
    Unable to poll /dev/input/event4. Make sure you have read permissions to it.
    Unable to poll /dev/input/event1. Make sure you have read permissions to it.
    Unable to poll /dev/input/event0. Make sure you have read permissions to it.
    ManyMouse: 0 mice detected.
    No protocol specified
    No protocol specified
    No protocol specified
    No protocol specified
    Could not set 512x448 video mode: No available video device
    and then zsnes just exits. I get a lot of the same output when I run zsnes with /home mounted, but in that case it works. Anyone have any ideas what's going on, or how to fix it?

    [greg@trollhammaren ~]$ cat /etc/rc.d/arch32
    #!/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
    mount --bind "/data/SNES Roms" /opt/arch32/SNES_roms
    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
    umount /opt/arch32/SNES_roms
    rm_daemon arch32
    stat_done
    restart)
    $0 stop
    sleep 1
    $0 start
    echo "usage: $0 {start|stop|restart}"
    esac
    exit 0

  • [solved] Wine with 3D under 32 Bit chroot - any how2 ?

    Hi fellow archers,
    I have set up a 32 Bit change root as discribed in the wiki here:
    http://wiki.archlinux.org/index.php/Ins … _in_Arch64
    The installation and configuration worked pretty straight forward. Unfortunately WINE doesn't find 3D acceleration. I installed Mesa inside the chroot but it lists softwaremode for the renderer when I do a glxinfo.
    Do I need to follow the ATI guide in the wiki and install some libs like this ?
    pacman -S libgl ati-dri
    Or do I need to completely build Mesa within the 32 bit chroot ?
    TIA,
    D$
    Last edited by Darksoul71 (2010-04-16 20:48:48)

    You're welcome If you don't have a wiki account, just register one and you should be able to edit the page you want. It's a wiki, after all.
    Darksoul71 wrote:
    BTW: A CDROM mounted inside the chroot seems to be accessed different from being mounted inside the native linux environment.
    At least Starcraft tells me that the original CD is not inserted although it is my original CD is inserted in the DVD drive. Under 64 Bit Ubuntu 9.04 works fine with WINE and the original CD.
    Do I have to change my mounting approach ?
    First of all: Do you use schroot and have your --bind mounts set up properly?
    The Arch Linux Wiki wrote: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
    You can just add the path to your arch32 rc.d script (if you use that) or to mount-arch32 (if you use schroot), e.g.
    mount --bind /media/cd /opt/arch32/media/cd
    Anyways, CD checks are a weird matter with wine… I can't get Warcraft III to recognize the CD either, so I'd just cross my fingers

  • Automate gaming in 32 bit chroot ?

    Hi fellow archers,
    Gaming with WINE inside a 32 bit chroot works perfectly for me. I just want to add some more comfort.
    I have not really found a good description on how to automate gaming within a 32 bit chroot.
    There is a hint in the wiki to add an alias which launches wine inside the 32 bit chroot from your 64 bit system but how would I write a script which does:
    1) Mount an ISO required for a windows game as loopback
    2) Start the 32 bit chroot
    3) Start the game via WINE inside the 32 bit chroot
    4) Exit the 32 bit chroot
    I know how to do this all inside a terminal manually but
    ...how do I "change into 32 bit chroot" from a bash script ?
    ...how do I call WINE inside the 32 bit chroot from the same bash script ?
    ...how do I exit the 32 bit chroot from the bash script ?
    Additional to this I am not shure if it is smarter to mount the ISO inside the 64 bit system and export the directory to your 32 bit chroot ? Or is it smarter to change inside the 32 bit chroot and mount the ISO there ?
    I am asking this esp. in regard to some "CD checks" of Windows games which sometimes seem to be very sensitive in regard how the media is mounted / presented to WINE itself.
    As usual I would like to write things together and add them to the corresponding part of the wiki.
    TIA,
    D$

    Hi Runiq,
    Thanks for your help again !
    Using schroot works perfectly for me when I use it to run darkplaces together with SDQuake.
    In order to do more than one command within the chroot I guess I simply have to write shell script and launch this inside the chroot via schroot, right ?
    I am not shure how schroot takes care for mounting / unmounting when I have several ISOs lying in my home directory which I require for different games. A lot of games work fine with "no-cd" patches in term of requireing the original CD but still rely on files stored on the CD.
    My best guess is a combination of two shell scripts. One running under arch64 and one which is started via schroot in my chroot.
    Cheers,
    D$

  • Market requires versionCode to be set to a positive 32-bit integer in AndroidManifest.xml

    I have built an application on flash builder Buritto  using the tutorial of " Christophe Coenraets"  building an EmployeeDirectory  and everything worked fine while debugging it in virtual environment but when I try to upload it to the andoid market im getting the  following error  : and everything worked fine while debugging it in virtual environment but when I try to upload it to the andoid market im getting the  following error  :
    Market requires versionCode to be set to a positive 32-bit integer in AndroidManifest.xml
    how can I solve this issue
    help please !!!!!!!

    Where can I find my  manifest file ? so that I can change the value ?

  • Autostarting a daemon from a 32 bit chroot

    hello
    i have arch64 and a brother dcp 135c printer. brother does supply drivers for linux but unfortunatelly for 32 bits only. because i have a 32 bit chroot, i thought i would just remove cups, and then inside the chroot install cups again, install the driver and add the printer. i did it and it all works fine except for one thing: i don't know how to autostart the cups deamon (inside the chroot) on boot.
    i tried adding cups32 to my list of deamons in rc.conf. first what i put in it was
    schroot -p /etc/rc.d/cups $1
    but it didn't work, so i tried
    chroot /opt/arch32
    /etc/rc.d/cups $1
    exit
    but with no more luck.
    here's what i get when i try to start cups not from inside chroot:
    # schroot -p /etc/rc.d/cups start
    I: [Arch32-801204e2-dcae-4c65-901f-145b605d70e9 chroot] Running command: "/etc/rc.d/cups start"
    :: Starting CUPS Daemon [DONE]
    ps aux | grep cups
    root 6027 0.0 0.1 8752 996 pts/0 S+ 14:13 0:00 grep cups
    as opposed to
    root 6036 0.0 0.5 8720 2628 ? Ss 14:15 0:00 /usr/sbin/cupsd
    when started from inside chroot.
    could anyone help me please?

    I am having the same issue.  I want to start distccd, but when I run schroot /etc/rc.d/distccd start, it says [DONE] as usual, but the daemon doesn't come up in ps -A.  if I manually chroot into /opt/arch32, I can issue the same command and it'll stay running.  I'm assuming that schroot sandboxes the environment, and when the command releases the terminal, it kills all the processes associated to it.
    How can I keep daemons running when they are started by schroot?

  • Pacman 3 in 32-bit chroot = no go

    Trying to use pacman 3 under my 32-bit chroot doesn't work at all, the problem is pretty obvious since it complains about no free space. Which isn't so weird after all, mount shows _no_ mount points at all, no wonder pacman can't decide if there is any free space or not, / isn't even mounted!
    I actually created the 32-bit installation by simply installing Arch onto another partition and just not install any bootloader so it should be fully working if I add an entry into my grub menu.lst. I then borrowed the rc.d script from the wiki (http://wiki.archlinux.org/index.php/Arc … _rc_script) and everything has been working fine until I upgraded pacman.
    Anyone have any idea on how to make it work with pacman 3?

    You did bind-mount proc, dev and sys into the chroot?
    If you did, maybe a
    # grep -v rootfs /proc/mounts > ${CHROOT}/etc/mtab
    (from outside the chroot) helps
    Last edited by klixon (2007-05-21 10:54:43)

  • Xorg-server 1.9 excessive CPU usage through a 32-bit chroot - bug?

    Xorg goes crazy tapping my cpu usage when I compile in a 32-bit chroot.  >60 % of the total CPU is going to Xorg rather than to gcc (running Gnome if that matters).  The htop screenshot below shows X and gdm using it.  I know that if I start gnome from init 3 without gdm the same problem occurs except htop just shows X as the culprit.
    X :0
    Further, packages fail to build when I run makepkg through X.  If I run it when I'm in init 3 without X at all the very same package successfully builds.  If I leave myself logged into Gnome and open tty1 and enter the chroot there, it builds.
    Any thoughts why?  That has to be a bug in Xorg given the conditions I explained above.  Does anyone have an idea as to preventing this?
    I entered the 32-bit chroot via: linux32 chroot /opt/arch32 /bin/bash
    The package I was attempting to build under X is a kernel if that matters; here is the last bit of the log before the error:
    Here is the last bit before the errors:
    gcc: vfork: Resource temporarily unavailable
    make[3]: *** [drivers/dma/ioat/pci.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    CC [M] drivers/char/agp/ali-agp.o
    CC [M] drivers/char/ipmi/ipmi_smic_sm.o
    CC [M] drivers/char/agp/ati-agp.o
    CC [M] drivers/char/ipmi/ipmi_bt_sm.o
    gcc: vfork: Resource temporarily unavailable
    make[3]: *** [drivers/char/agp/backend.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    CC [M] drivers/char/ipmi/ipmi_watchdog.o
    make[2]: *** [drivers/dma/ioat] Error 2
    make[1]: *** [drivers/dma] Error 2
    CC [M] drivers/char/ipmi/ipmi_poweroff.o
    LD drivers/char/mwave/built-in.o
    CC [M] drivers/char/mwave/mwavedd.o
    make[2]: *** [drivers/char/agp] Error 2
    make[2]: *** Waiting for unfinished jobs....
    LD [M] drivers/char/ipmi/ipmi_si.o
    CC [M] drivers/char/mwave/smapi.o
    CC [M] drivers/char/mwave/tp3780i.o
    CC [M] drivers/char/mwave/3780i.o
    LD [M] drivers/char/mwave/mwave.o
    make[1]: *** [drivers/char] Error 2
    make: *** [drivers] Error 2
    Aborting...
    Last edited by graysky (2010-10-02 17:08:42)

    Xorg goes crazy tapping my cpu usage when I compile in a 32-bit chroot.  >60 % of the total CPU is going to Xorg rather than to gcc (running Gnome if that matters).  The htop screenshot below shows X and gdm using it.  I know that if I start gnome from init 3 without gdm the same problem occurs except htop just shows X as the culprit.
    X :0
    Further, packages fail to build when I run makepkg through X.  If I run it when I'm in init 3 without X at all the very same package successfully builds.  If I leave myself logged into Gnome and open tty1 and enter the chroot there, it builds.
    Any thoughts why?  That has to be a bug in Xorg given the conditions I explained above.  Does anyone have an idea as to preventing this?
    I entered the 32-bit chroot via: linux32 chroot /opt/arch32 /bin/bash
    The package I was attempting to build under X is a kernel if that matters; here is the last bit of the log before the error:
    Here is the last bit before the errors:
    gcc: vfork: Resource temporarily unavailable
    make[3]: *** [drivers/dma/ioat/pci.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    CC [M] drivers/char/agp/ali-agp.o
    CC [M] drivers/char/ipmi/ipmi_smic_sm.o
    CC [M] drivers/char/agp/ati-agp.o
    CC [M] drivers/char/ipmi/ipmi_bt_sm.o
    gcc: vfork: Resource temporarily unavailable
    make[3]: *** [drivers/char/agp/backend.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    CC [M] drivers/char/ipmi/ipmi_watchdog.o
    make[2]: *** [drivers/dma/ioat] Error 2
    make[1]: *** [drivers/dma] Error 2
    CC [M] drivers/char/ipmi/ipmi_poweroff.o
    LD drivers/char/mwave/built-in.o
    CC [M] drivers/char/mwave/mwavedd.o
    make[2]: *** [drivers/char/agp] Error 2
    make[2]: *** Waiting for unfinished jobs....
    LD [M] drivers/char/ipmi/ipmi_si.o
    CC [M] drivers/char/mwave/smapi.o
    CC [M] drivers/char/mwave/tp3780i.o
    CC [M] drivers/char/mwave/3780i.o
    LD [M] drivers/char/mwave/mwave.o
    make[1]: *** [drivers/char] Error 2
    make: *** [drivers] Error 2
    Aborting...
    Last edited by graysky (2010-10-02 17:08:42)

  • Users cannot access removable devices after you enable and then disable a Group Policy setting in Windows 7 64 Bit

    Users cannot access removable devices after you enable and then disable a Group Policy setting on Windows 7 64 bit machines.
    on the 32 bit machines I was able to apply this hotfix
    http://support2.microsoft.com/kb/2738898
    But it will not install on 64 bit machines. 
    Is there a hotfix for 64 bit?  If not, what is the work around?
    Thanks!
    Robert

    Select "Show hotfixes for all platforms and languages", then download x64 hotfix:
    Please take a moment to Vote as Helpful and/or Mark as Answer where applicable. Thanks.

Maybe you are looking for