View previous topic :: View next topic |
Author |
Message |
stewie3128 n00b
Joined: 11 Aug 2023 Posts: 4
|
Posted: Sat Aug 12, 2023 12:05 am Post subject: Can't chroot when installing amd64-openrc inside VMWare |
|
|
I'm following the guide at https://wiki.gentoo.org/wiki/Apple_Silicon_VMware_Guide
when I run
Code: | chroot /mnt/gentoo /bin/bash |
I get back an error message
Code: | chroot: failed to run command /bin/bash: Exec format error |
Search results indicate that this is a 32bit/64bit problem, but the VMWare machine I've set up is "Debian 12.x 64-bit Arm." The problem also occurred when I tried doing the same thing inside an Ubuntu virtual machine.
I'm clearly getting something very basic wrong here, so from the beginning, here's what I'm doing:
Everything works until I get to the chroot stage.
Latest VMWare on a Mac Studio M1 Ultra
Just getting back into Linux after a few years away. Thanks so much!!! |
|
Back to top |
|
|
alamahant Advocate
Joined: 23 Mar 2019 Posts: 3918
|
Posted: Sat Aug 12, 2023 9:29 am Post subject: |
|
|
Welcome to Gentoo!
Quote: |
but the VMWare machine I've set up is "Debian 12.x 64-bit Arm."
|
You cant chroot from arm to amd64.
Plz use an amd64 VM to chroot into amd64 Gentoo system.
If this is not possible then use an arm rootfs tarball of Gentoo. _________________
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54599 Location: 56N 3W
|
Posted: Sat Aug 12, 2023 11:43 am Post subject: |
|
|
stewie3128,
Welcome to Gentoo
chrooting into amd64 from arm is possible but its slow as it requires qemu to emulate the target CPU at the register level in software.
Even though it's slow, it works.
Unless you really want to do that, set up a VM that matches your host.
The wiki page you reference says ... Quote: | Go to the Gentoo downloads page and copy the link to the stage 3 tarball. MAKE SURE TO GET THE ARM64 |
arm64 <> amd64 _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54599 Location: 56N 3W
|
Posted: Sat Aug 12, 2023 11:47 am Post subject: |
|
|
Moved from Installing Gentoo to Gentoo on ARM. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
stewie3128 n00b
Joined: 11 Aug 2023 Posts: 4
|
Posted: Sun Aug 13, 2023 5:58 pm Post subject: |
|
|
NeddySeagoon wrote: | stewie3128,
Welcome to Gentoo
chrooting into amd64 from arm is possible but its slow as it requires qemu to emulate the target CPU at the register level in software.
Even though it's slow, it works.
Unless you really want to do that, set up a VM that matches your host.
The wiki page you reference says ... Quote: | Go to the Gentoo downloads page and copy the link to the stage 3 tarball. MAKE SURE TO GET THE ARM64 |
arm64 <> amd64 |
Thanks! I'm clearly back at noob status, per my profile |
|
Back to top |
|
|
flysideways Guru
Joined: 29 Jan 2005 Posts: 496
|
Posted: Wed Aug 16, 2023 1:38 pm Post subject: |
|
|
At the moment, I forget the exact why, but use Other 64-bit Arm. That is the setting I have in VMWare Fusion on an M1 Laptop for my working Gentoo VM's.
edit to add: Don't drag and drop the iso, instead use Create a Custom Virtual Machine. That will make the Other 64-bit Arm option available.
Last edited by flysideways on Wed Aug 16, 2023 2:21 pm; edited 2 times in total |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54599 Location: 56N 3W
|
Posted: Wed Aug 16, 2023 1:42 pm Post subject: |
|
|
stewie3128,
The kernel you share on IRC was missing EFI support and the was no console support at all. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
stewie3128 n00b
Joined: 11 Aug 2023 Posts: 4
|
Posted: Wed Aug 16, 2023 8:18 pm Post subject: |
|
|
NeddySeagoon wrote: | stewie3128,
The kernel you share on IRC was missing EFI support and the was no console support at all. |
Thanks so much! |
|
Back to top |
|
|
stewie3128 n00b
Joined: 11 Aug 2023 Posts: 4
|
Posted: Thu Aug 24, 2023 11:59 pm Post subject: It's working now |
|
|
Finally came back to this little project. For reference, I'm using VMware Fusion 13.0.2 on a Mac Studio M1 Ultra running Ventura.
I was able to complete a fully-working minimal install, and am now emerging Gnome.
Installation of ARM64 Gentoo within VMWare on Apple Silicon isn't completely straightforward yet - it required a lot of searching, and some trial and error. I had to deviate quite a bit from the Apple Silicon VMware Guide...
One basic thing that should be corrected in there is to use
Code: | links https://www.gentoo.org/downloads/mirrors | instead of
Code: | wget <URL OF STAGE 3> | to fetch the tarball. It's much easier, because open-vm-tools (which provides copy-and-paste functionality with the host system, among other things) still isn't fully supported on ARM64.
I also noticed that https://mirror.leaseweb.com/gentoo/ isn't included in the mirrorselect program for some reason. It has been, for me in California, by far the fastest server.
The full COMMON_FLAGS line for this particular processor technically is
Code: | COMMON_FLAGS="-march=armv8.5-a -O2 -pipe" | But it looks like this particular -march isn't fully supported throughout the emergiverse yet, so just stick with
Code: | COMMON_FLAGS="-O2 -pipe" |
It's worth noting that -pipe isn't included in their recommended make.conf file for some reason, but my install has been the easiest when including that option.
If you're going to use the CPU_FLAGS_ARM line in your make.conf file, be sure to add sha1 and sha2 to the flags that they list in the guide. I've had the best luck so far just hashing out that line though.
I found I needed to add elogind and dbus to my USE line in make.conf for some reason.
There were several VMWare elements that needed to be included in the kernel (if not for these, then a binary kernel would have sufficed) - basically everything that included the word VMware or VMX. Hit the / key inside menuconfig to search for things by flag or whatever.
EFI console and simple console also needed to be turned on.
The command that the Guide provides to make the kernel always failed for me - something to do with module install. To get around this, I installed it the old way:
Code: | make menuconfig #get the VMware graphics etc. installed directly, and enable EFI console and simple console
make
make modules
make modules_install
make install | Perhaps it's safe to put all of these together into
Code: | make && make modules && make modules_install && make install | ...but I'm not sure.
Occasionally, unmounting at the end of the process was a pain.
Code: | umount -R /mnt/gentoo | was frequenly not enough to unmount.
In that even, exit out as far as you can go, then run
Code: | umount -l /mnt/gentoo/dev{/pts,/shm,}
umount -l /mnt/gentoo{/boot,/proc,} | Those should do it, but just to be sure, retry
Code: | umount -R /mnt/gentoo |
There were frequent compile failures that looked really arcane and complicated. In those events, emerge the crashing package separately with "-j1" for both makeopts and emerge opts.
I'll post my working kernel config file once I finish emerging Gnome-light (another package/metapackage that has to be emerged -j1) one thread at a time. So far I've already had to break a circular Gnome dependency by running
Code: | USE="minimal" emerge -1 libsndfile |
Thanks for all of the help so far! |
|
Back to top |
|
|
|