64-bit FAQ

From ArchWiki
Revision as of 18:06, 28 December 2007 by Alex anthony (talk | contribs) (How complete is the port? Will I have all the packages from my Arch32 Env?: Changed reference to current repo)
Jump to navigation Jump to search

Below is a list of frequently asked questions about Arch64.

How can I install Arch64?

Just use our official install iso CD.

How complete is the port? Will I have all the packages from my Arch32 Env?

Core+Extra repos are ported and almost everything is up to date, only hours or a few days at most behind Arch Linux i686. Our TU's are trying to port the Community repo now.

The port is ready for daily use in a desktop or server environment.

Does 64-bit mean a great speed improvement?

For applications using the 64-bit CPU registers (large databases and such) this is true in most cases. Some multimedia applications will also run noticeably faster. If you know an application which is known to be much faster when using SSE3 extensions you can rebuild the package yourself. We only compile with SSE2 support(from march=x86_64) and -O2 optimizations. For more read http://forums.gentoo.org/viewtopic.php?t=221045 or http://www.thejemreport.com/mambo/content/view/74/74/ .

For the rest of the system: It doesn't make any difference if the keyboard waits.

For further details watch our Arch64_ToDoS. There you will find a list comparing arch32/arch64 package versions.

For certain boot problems try these special kernel boot flags: http://www.x86-64.org/lists/discuss/msg03747.html (dead link)

I have three 64-bit Archies running now, and they perform noticeably better under heavy load. It just seems to deliver more punch.

Attention when you update glibc from <2.4 version!

It's important if you update glibc from a version <2.4 that you do it in a separate step. So do only pacman -Sy glibc and if it is successful do pacman -Su. Otherwise the lib-moving may fail and you will have to use pacman.static to fix it.

How can I file bugs?

Simply use Arch's flyspray but note x86_64 in the topic if you think it's a port-related problem!

Do you have a mailing list?

Yes, there is a generic mailing list about arch-ports.

What repos should I set up for pacman to use?

All repos are supported for the port.

How can I get the Arch64 PKGBUILDs?

We have ABS as Arch 32-bit. Recommended place to store is /var/abs. abs fetches all CVS entries from archlinux.org tagged with CURRENT-64.

How can I build new Arch64 packages using existing 32-bit PKGBUILDs?

We have common PKGBUILDs with Arch32. You can get not-yet-ported 32-bit PKGBUILDs from CVS: http://www.archlinux.org/cvs/

How can I patch existing PKGBUILDs for use with Arch64?

We add to all ported packages this variable:

arch=('i686' 'x86_64') 

Add small patches directly to the sources and md5sums area but use for complete different sources:

[ "$CARCH" = "x86_64" ] && source=(${source[@]} 'other source')
[ "$CARCH" = "x86_64" ] && md5sums=(${md5sums[@]} 'other md5sum')

For any small fix use this in the build area:

[ "$CARCH" = "x86_64" ] && (patch -Np0 -i ../foo_x86_64.patch || return 1)

Or when you need more changes:

if [ "$CARCH" = "x86_64" ]; then
    configure/patch/sed      # for x86_64
  else configure/patch/sed   # for i686

For the devs:

cvs commit -m "x86_64 updated/fixed or whatever"
cvs tag -cFR CURRENT-64 foo-package-directory (even for extra, community, unstable and testing)

What will I miss in Arch64?

The following applications are known not to be 64-bit compatible:

  • no Java plugin shipped by Sun; KDE's Konqueror has its own native running 64-bit JavaPlugin built in! Best solution to browse JavaApplets these days. There is also a gcj-web-plugin (called gcjplugin in AUR) to use Java-Applets in Gecko browsers.
  • true x86_64 Flash support only in parts with GPL gnash or swfdec package from extra repo
  • no native Flash plugin shipped by Macromedia/Adobe - nspluginwrapper package from community allows use of 32-bit plugins but forces installation of lib32 packages - follow this guide on how to Install Flash on Arch64
  • Closed-source apps like Skype, Opera - where they don't provide 100% statically built binaries so 32-bit libs are still needed
    • Note: for the last opera 9.50 beta 1, there is a x86_64 port. So for the next release of opera, a native port to x86_64 is expected.
  • additional win32 codecs (... that nobody really needs)
  • packages that use x86 32-bit assembler code (some emulators like zsnes and syslinux)

Almost everything else should be portable. If you miss any Arch32 package in our port and you know that it will compile on x86_64 (e.g. you have found it in another 64-bit distribution without using multilibs), just contact the devs.

Can I build 32-bit packages for i686 inside Arch64?

Yes. You need a working i686 chroot (installation with i686 iso "quickinstall" is recommended for the quick way to install it inside Arch64). Install "linux32" wrapper pkg from current to make the chroot behave like a real i686 system. Then use this script to login into the chroot environment as root:

mount --bind /dev /path-to-your-chroot/dev
mount --bind /dev/pts /path-to-your-chroot/dev/pts
mount --bind /dev/shm /path-to-your-chroot/dev/shm
mount -t proc none /path-to-your-chroot/proc
mount -t sysfs none /path-to-your-chroot/sys
linux32 chroot /path-to-your-chroot

If you keep the sources on the x86_64 host system you can add

"mount --bind /path-to-your-stored-sources /path-to-your-chroot/path-to-your-stored-sources" 

to share sources from host to chroot system for pkg building used in /etc/makepkg.conf.

Can I run 32-bit apps inside Arch64?


BUT: Our goal is to be the most bleeding-edge distribution around! 32-bit is old-fashioned. We want Arch64 to be modern and pure 64-bit. So we don't have a Multilib system. We won't take any package into the repos improving 32-bit compatibility. Maybe we will place them into the AUR or community repo. Don't expect any support from the devs getting 32-bit apps running on Arch64!

Boot into Arch64, startx, open a term.

xhost +local:
mount /dev/sda1 /mnt/arch32
mount --bind /proc /mnt/arch32/proc
chroot /mnt/arch32
su your32bitusername
/usr/bin/command-you want # or eg: /opt/mozilla/bin/firefox

Some 32-bit apps (like OpenOffice) may require additional bindings. The following lines can be placed in rc.local to ensure you get all you need for the 32-bit apps (assuming /mnt/arch32 is mounted in fstab):

mount --bind /dev /mnt/arch32/dev
mount --bind /dev/pts /mnt/arch32/dev/pts
mount --bind /dev/shm /mnt/arch32/dev/shm
mount --bind /proc /mnt/arch32/proc
mount --bind /proc/bus/usb /mnt/arch32/proc/bus/usb
mount --bind /sys /mnt/arch32/sys
mount --bind /tmp /mnt/arch32/tmp
#comment the following line if you do not use the same home folder
mount --bind /home /mnt/arch32/home

You can then type in a term:

xhost +localhost
sudo chroot /mnt/arch32 su your32bitusername /opt/openoffice/program/soffice

Can I upgrade/switch my system from i686 to x86_64 without reinstalling?

No. However, you can start the system with the Arch64 install CD, mount the disk, delete anything you may want to keep that isn't a 32-bit binary (e.g: /home & /etc), and install.