You are not logged in.
Hi all,
Now I am trying installing Archlinux on my mac air 4, 1. To avoid the grub installation failure (discussed here), I made an UEFI bootable USB followed the wiki: https://wiki.archlinux.org/index.php/UE … B_from_ISO (use archiso 2012.10.06 to make the USB stick), then I booted into USB, I do see three options:
Arch Linux archiso x86_64 UEFI USB
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
for option 1: when entered, there was only a blank screen, I waited a long time, but nothing happened;
for option 2: it said to launch "startup.nsh", but also nothing happened, just dropped in a shell;
for option 3: when entered, an error happened, as below:
ASSERT_EFI_ERROR (Status = Not Found)
ASSERT c:\dev\edk2tip\MdeModulePkg\Library\UefiHiiServicesLib\UefiHiiServicesLib.c(100): !EFI_ERROR (Status)
So, any idea about the errors above, or is there any workaround to succeed the booting?
Thanks & Regards,
Kelvin
Last edited by kelvinh (2012-11-04 13:29:07)
Offline
See if you can boot it from the shell.
for option 2: it said to launch "startup.nsh", but also nothing happened, just dropped in a shell;
What were you expecting to happen here? To seem it seems pretty logical that selecting "UEFI Shell" would drop you into a shell.
When you are in the shell, it works kind of like the old dos command line. So go to the efi system partition that your installer is on. These are prefixed with fs and the numbering starts with 0. So for instance, I have two hard drives in my computer. If I were to have efi system partitions on both, the first would be fs0: and the second would be fs1: so determine which you need to go to. Than cd to /arch/boot/x86_64, and launch it from there.
So you should be able to do something like
fs0: vmlinuz-linux initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210
If that does not work, then maybe you need to append .efi to your kernel.
When you get the black screen from option 1, does it start to appear to boot, and then go into a black screen? Or does it simply go straight into a black screen? I ask because a macbook air has an intel gpu, and with my macbook 2,1 as well as my current Thinkpad e430 (w/ intel graphics), I have to set early kms, otherwise I get a black screen. This can be done by adding i915.modeset=1 on the kernel command line.
Offline
So, I read more people can't get past the shell;)
Well the answer may seem very logic, but if you just type 'startup' you're install starts, at least mine does;)
By the way, I take for granted you're BIOS is up to date (I don't own a mac)
Offline
Hi WonderWoofy, first thanks for your answer.
So you should be able to do something like
fs0: vmlinuz-linux initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210
If that does not work, then maybe you need to append .efi to your kernel.
My USB stick is recognized as fs1, so I tried this command with "fs1", but it reports:
'vmlinuz-linux' is not recognized as an internal or external command, operable program, or batch file
I searched fs1, there is no file named vmlinuz-linux or vmlinuz-linux.efi, only vmlinuz found under path \arch\boot\x86_64\.
When you get the black screen from option 1, does it start to appear to boot, and then go into a black screen? Or does it simply go straight into a black screen? I ask because a macbook air has an intel gpu, and with my macbook 2,1 as well as my current Thinkpad e430 (w/ intel graphics), I have to set early kms, otherwise I get a black screen. This can be done by adding i915.modeset=1 on the kernel command line.
when I press Enter for option 1, it then goes into a blank screen (not a black screen, in fact, it is a little grey), no even one character printed out. I press 'e' (I think this means editing the boot command) on option 1 and then see following command line:
initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210
In fact, the contents in my USB stick are the same as in the iso "archlinux-2012.10.06-dual.iso", so I really don't know where is wrong.
Last edited by kelvinh (2012-10-29 13:41:37)
Offline
As WonderWoofy mentioned earlier, the "blank screen" issue may be solved by adding "i915.modeset=1" to your boot command. To do this, press e on option 1 and add it to the end of that line.
ie,
initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210 i915.modeset=1
Let us know if that goes any better.
The other option is to drop into the shell and run
fs0:
\arch\boot\x86_64\vmlinuz i915.modeset=1 initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210
Offline
Yeah, I guess the kernel in the archiso is actually just vmlinuz.
Offline
ie,
initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210 i915.modeset=1
Let us know if that goes any better.
I tried this kernel parameter, but it did not work, still a blank screen, nothing printed out...
The other option is to drop into the shell and run
fs0: \arch\boot\x86_64\vmlinuz i915.modeset=1 initrd=\arch\boot\x86_64\archiso.img archisobasedir=arch archisolabel=ARCH_201210
I tried this, it reports "\arch\boot\x86_64\vmlinuz is not recognized as an internal or external command, operable program, or batch file", even when I cd to \arch\boot\x86_64\, and run vmlinuz, it still cannot be recognized...
EDIT:
in fact, if I use "dd" command to make ISO into USB stick, it can be booted successfully, so, I think maybe it is not because the Intel GPU issue leading to blank screen...
Last edited by kelvinh (2012-10-30 12:06:25)
Offline
You should try
Shell > fs0:
FS0:\ > cd \arch\boot\x86_64
FS0:\arch\boot\x86_64\ > vmlinuz archisobasedir=arch archisolabel=ARCH_201210 i915.modeset=1 initrd=\arch\boot\x86_64\archiso.img
Offline
You should try
Shell > fs0: FS0:\ > cd \arch\boot\x86_64 FS0:\arch\boot\x86_64\ > vmlinuz archisobasedir=arch archisolabel=ARCH_201210 i915.modeset=1 initrd=\arch\boot\x86_64\archiso.img
Hi, in fact I have tried this, cd to "\arch\boot\x86_64", and run "vmlinuz", but it still cannot be recognized...
Offline
It may be that this particular EFI implementation will only consider a file to be an "operable program" if its extension is .efi. If you were booting from a CD, this would be bad because you can't modify anything. Fortunately, you're on a USB stick, so you should be able to make a copy of vmlinuz called vmlinuz.efi and then run that with the same arguments that you were trying to use for the normal vmlinuz. I'm pretty sure the EFI shell has a copy command available.
Offline
Hi all,
I think I have solved this problem, using a not very beautiful workaround, refer to this article: http://www.cnblogs.com/ini_always/archi … 77774.html.
By copying /boot/efi/arch_grub/grubx64.efi to /boot/efi/BOOT/BOOTX64.efi, the system then can be booted, though it takes a little long time.
Thank you all who have tried to help me to solve problem, really thanks.
Regards,
Kelvin
Offline
Did it load archiso installation?
Can you explain in detail?
Offline
Did it load archiso installation?
Can you explain in detail?
Err.. in fact, I boot USB stick using BIOS compatibility mode, not UEFI. That is to say, make the USB just using "dd" command.
Then, as expected, it will fail at the step GRUB2 installation, because GRUB2 requires UEFI booting but we boot the USB in BIOS compatibility mode.
But, in fact GRUB2 installation has already generated the useful file, so, just do the "cp" command as I mentioned above. Then go on with the remaining steps, reboot system, everything will be OK.
Note:
This works on my MacBook Air, I am not sure whether it could work on any other kind of UEFI hardware.
Offline
It seems a solution for my problem too!!!
I'll just try to replace grub efi bootloader later..
Offline