You are not logged in.
Hi Everyone,
I have a i686 install of Arch that I would like to use as a server to PXE boot a 64bit Arch client.
I have followed the Diskless network boot NFS root article on the wiki.
Before running
pacman -Sy --root /disklessroot --dbpath /disklessroot/var/lib/pacman base
I changed /etc/pacman.d/mirrorlist to point to 64-bit architecture.
I got stuck at this part where I have to chroot to /diklessroot to recreate the kernel image.
chroot /disklessroot
mkinitcpio -p linux
exit
umount /disklessroot/dev
umount /disklessroot/proc
umount /disklessroot/sys
The error I got was:
chroot: failed to run command ‘/bin/bash’: Exec format error
I realised that I am trying to execute 64bit code on a 32bit PC.
I figured if I copy the i686 binaries of bash and mkinitcpio to /disklessroot/bin and /disklessroot/usr/bin respectivly I can work around this problem.
So I renamed /disklessroot/bin/bash to /disklessroot/bin/bash.64 and /disklessroot/usr/mkinitcpio to /disklessroot/usr/bin/mkinitcpio.64 and copied the binaries from /bin and /usr/bin into the /disklessroot/bin and /disklessroot/usr/bin .
Now I get the following error when trying to chroot to /disklessroot .
chroot: failed to run command ‘/bin/bash’: No such file or directory
Is there any way that I can get around this and network boot a 64bit client from a i686/32bit server?
Last edited by FNC (2012-05-31 14:07:07)
Offline
I changed /etc/pacman.d/mirrorlist to point to 64-bit architecture.
Don't bother. You can't run 64 bit software using a 32 bit OS. Only the other way around: 32 bit software on a 64 bit OS.
You need to install Arch x86_64 if you want 64 bit. Or you could "migrate" it to 64 bit... But if it were me, I would probably just reinstall.
I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).
Offline
If your client is 64-bit, then you just mount the NFS share that your diskless install would go on (if you can boot the 64-bit machine, with the arch install CD), and execute your commands from the 64-bit client. It'll work. That's just the way you have to do it. The mirror should be the same regardless of architecture. Your /diskless directory, regardless will still have to be exported in /etc/exports. It will be your nfsroot directory when you get done (from the client). Your syslinux pxelinux.cfg/default and pxelinux.0 files will be delivered from /var/tftpboot via tftp.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline