You are not logged in.
so I re-ran grub again and now it isn't displaying the errors above, but it is still hanging where it usually does after [ok] reached target graphical interface
If you did not install a graphical system then it can't get going with the graphical interface! Did you install a window manager or D.E. such as KDE or gnome? If not then try to boot only to the multi-user interface using the technique I suggested earlier. Alternatively once you get the blinking cursor can you switch to a non-graphical VT by using ctrl-alt-F1?
Mike C
Offline
Nothing works at the blinking cursor, only ctrl+alt+delete. However if I press my power button once it shutsdown, I no longer need to hold it to power it off.
Offline
I am attaching my notes for installing arch from a year or so back, which you can compare with your own method of installing - it is just possible that a key step has been missed out during your own install. Anyway I am providing these notes not as a definitive way that you might install but as a comparison so that you can check if you missed anything important. My notes were based on the Beginner's Guide from a year ago.
Download latest install dual achitecture iso
With unmounted usbkey as root do dd bs=4M if=path-to-iso of=/dev/sdb to write the install key. Boot the key.
Once booted see shell prompt prompt on the screen.
===Keyboard layouts
=== loadkeys uk
only gives correct behaviour for text consoles.
This will work during install but must be checked/done again once install is done.
For xorg to use GB keyboard need to edit /etc/X11/xorg.conf.d/10-evdev.conf
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
# Keyboard layouts
Option "XkbLayout" "gb"
EndSection
Also later once KDE is installed, set KDE locale to UK and set language appropriately.
=== setfont Lat2-Terminus16
=== nano /etc/locale.gen
Use Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename.
=== use the en_GB UTF8 entry and the US one.
=== # locale-gen
=== # export LANG=en_GB.UTF-8
The dhcpcd network daemon is started automatically at boot and it will attempt to start a wired connection, if available. Try pinging
=== eg ping -c 3 www.google.com
If not then note the new network interface names - eg enp0s25
Find by doing:
ip link or ip l
Can set static if on the 10.x.x.x network using
ip link set enp0s25 up
ip addr add 10.0.0.10/24 dev enp0s25
ip route add default via 10.0.0.xxx
where xxx is the address for the router.
Then check /etc/resolv.conf has the correct search line for dns lookups.
For wireless during install
# lspci | grep -i net
Use iwconfig to check driver loaded - but may need firmware - eg ipw2200-fw
Check for usable wireless kernel interface with iwconfig (iwconfig may be obsolete now)
Then set wireless params:
ip link set wlan0 up
Next, use netcfg's wifi-menu to connect to a network:
# wifi-menu wlan0
Now check you have working wireless eg with ping
=== Mount the partitions
To see the current partition layout:
# lsblk /dev/sda
Check ahead which partitions are which.
Best to preformat and have a list of partitions to hand. If not then can use gdisk to format at this point for GPT partition table on hard drive.
Pay attention, because the mounting order is important.
First, mount the root partition on /mnt. Following the example above (yours may be different), it would be:
=== # mount /dev/sda5 /mnt
Then mount the /opt partition and any other separate partition (/boot, /var, etc), if you have any:
=== # mkdir /mnt/opt
=== # mount /dev/sda7 /mnt/opt
In case you have a separate /boot partition:
=== # mkdir /mnt/boot
=== # mount /dev/sda8 /mnt/boot
=== Select a mirror
Before installing, you may want to edit the mirrorlist file and place your preferred mirror first.
A copy of this file will be installed on your new system by pacstrap as well, so it's worth getting it right.
=== # nano /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2012-MM-DD
##
Server = http://mirror.example.xyz/archlinux/$repo/os/$arch
...
Alt+6 to copy a Server line.
PageUp key to scroll up.
Ctrl+U to paste it at the top of the list.
Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename.
If you want, you can make it the only mirror available by getting rid of everything else (using Ctrl+K),
but it's usually a good idea to have a few more, in case the first one goes offline.
Tip: Use the Mirrorlist Generator to get an updated list for your country. HTTP mirrors are faster than FTP,
because of something called keepalive.
With FTP, pacman has to send out a signal each time it downloads a package, resulting in a brief pause.
=== Install the base system
The base system is installed using the pacstrap script.
Check that the system time is not too far out - will affect pacman checking.
=== # date
Can set time with eg # date +%T -s "19:30:00"
=== # pacstrap /mnt base base-devel
base: Software packages from the [core] repo to provide the minimal base environment.
base-devel: Extra tools from [core] such as make, and automake. Most should choose to install it, as it will likely be
needed to expand the system. The base-devel group will be required to install software from the Arch User Repository.
Note: If pacman fails to verify your packages, check your system time.
If the system date is invalid (e.g. it shows year 2010), signing keys will be considered expired (or invalid)
=== Generate an fstab
Generate an fstab file with the following command.
If you prefer to use UUIDs or labels, add the -U or -L option, respectively.
It's also a good idea to check it before continuing:
===# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
Only the root (/) partition needs 1 for the last field. Everything else should have either 2 or 0 (see Field definitions).
Also, data=ordered can be removed because it will be automatically used whether you specify it or not.
=== Chroot and configure the base system
Next, we chroot into our newly installed system:
=== # arch-chroot /mnt
At this stage of the installation, you will configure the primary configuration files of your Arch Linux base system.
=== Locale
Locales are used by glibc and other locale-aware programs or libraries for rendering text,
correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards.
There are two files that need editing: locale.gen and locale.conf.
The locale.gen file is empty by default (everything is commented out) and you need to remove the # in front of the line(s) you want.
You may uncomment more lines than just English (US), as long as you choose their UTF-8 encoding:
=== # nano /etc/locale.gen
Choose en_GB.UTF-8
=== # locale-gen
This will run on every glibc upgrade, generating all the locales specified in /etc/locale.gen.
The locale.conf file doesn't exist by default. Setting only LANG should be enough. It will act as the default value for all other variables.
=== # echo LANG=en_GB.UTF-8 > /etc/locale.conf
=== # export LANG=en_GB.UTF-8
Note: If you set some other language than English at the beginning of the install, the above commands would be something like:
# echo LANG=de_DE.TF-8 > /etc/locale.conf
# export LANG=de_DE.UTF-8
Warning: Using the LC_ALL variable is strongly discouraged because it overrides everything.
Also no need to use LC_COLLATE=C in locale.conf
=== Console font and keymap
If you set a keymap at the beginning of the install process, load it now, as well, because the environment has changed. For example:
=== # loadkeys uk
=== # setfont Lat2-Terminus16
To make them available after reboot, edit vconsole.conf:
=== # nano /etc/vconsole.conf
=== KEYMAP=uk
=== FONT=Lat2-Terminus16
=== FONT_MAP=
KEYMAP – Please note that this setting is only valid for your TTYs, not any graphical window managers or X.Org.
FONT – Available alternate console fonts reside in /usr/share/kbd/consolefonts/.
The default (blank) is safe, but some foreign characters may show up as white squares or as other symbols.
It's recommended that you change it to Lat2-Terminus16, because according to /usr/share/kbd/consolefonts/README.Lat2-Terminus16,
it claims to support "about 110 language sets".
FONT_MAP – Defines the console map to load at boot. Read man setfont. The default (blank) is safe.
See Console fonts and man vconsole.conf for more information.
=== Timezone
Available time zones and subzones can be found in the /usr/share/zoneinfo/<Zone>/<SubZone> directories.
To view the available <Zone>, check the directory /usr/share/zoneinfo/:
# ls /usr/share/zoneinfo/
Similarly, you can check the contents of directories belonging to a <SubZone>:
# ls /usr/share/zoneinfo/Europe
Create a symbolic link /etc/localtime to your zone file /usr/share/zoneinfo/<Zone>/<SubZone> using this command:
=== # ln -s /usr/share/zoneinfo/Europe/London /etc/localtime
Example:
# ln -s /usr/share/zoneinfo/Europe/London /etc/localtime
If you are using systemd's timedated, you might wish to also edit the file /etc/timezone and write your <Zone>/<Subzone>.
Example:
# nano /etc/timezone
Europe/London
This is no longer needed.
Read man tzset for more options.
The need for /etc/timezone might go away in the future (it's gone).
=== Hardware clock
Set the hardware clock mode uniformly between your operating systems.
Otherwise, they may overwrite the hardware clock and cause time shifts.
You can generate /etc/adjtime automatically by using one of the following commands:
UTC (recommended)
Note: Using UTC for the hardware clock does not mean that software will display time in UTC.
=== # hwclock --systohc --utc
localtime (discouraged; used by default in Windows)
Warning: Using localtime may lead to several known and unfixable bugs. However, there are no plans to drop support for localtime.
# hwclock --systohc --localtime
If you have (or planning on having) a dual boot setup with Windows:
Recommended: Set both Arch Linux and Windows to use UTC. A quick registry fix is needed.
Also, be sure to prevent Windows from synchronizing the time on-line, because the hardware clock will default back to localtime.
If you want such functionality (NTP sync), you should use chrony or ntpd on your Arch Linux installation instead.
Not recommended: Set Arch Linux to localtime and remove any time-related daemons from /etc/rc.conf.
This will let Windows take care of hardware clock corrections and you will need to remember to boot into Windows at least
two times a year (in Spring and Autumn) when DST kicks in.
So please don't ask on the forums why the clock is one hour behind or ahead if you usually go for days or weeks
without booting into Windows.
UTC in Windows
Using regedit, add a DWORD value with hexadecimal value 1 to the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
Alternatively, create a *.reg file (on the desktop) with the following content and double click it to import it into registry:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Kernel modules
Tip: This is just an example, you do not need to set it.
All needed modules are automatically loaded by udev, so you will rarely need to add something here.
Only add modules that you know are missing.
For kernel modules to load during boot, place a *.conf file in /etc/modules-load.d/, with a name based on the program that uses them.
# nano /etc/modules-load.d/virtio-net.conf
# Load 'virtio-net.ko' at boot.
virtio-net
If there are more modules to load per *.conf, the module names can be separated by newlines. A good example can be found here.
Empty lines and lines starting with # or ; are ignored.
Daemons
Tip: The DAEMONS line need not be changed at this time, but it is useful to explain what daemons are, as they will be addressed later
=== Hostname
Add your hostname in /etc/hostname:
=== # echo home1 > /etc/hostname
No longer necessary to add it to /etc/hosts, as well:
# nano /etc/hosts
127.0.0.1 myhostname localhost
::1 myhostname localhost
#192.168.1.100 myhostname.domain.org myhostname #Uncomment if you use a static IP and remove this comment.
Note: ::1 is the IPv6 equivalent of 127.0.0.1 and should be added.
=== Configure the network
You need to configure the network again, but this time for your newly installed environment.
When the system is rebooted after the install is complete then its should start the wired network if all is well.
=== DNS
You might also need to add your name servers' (DNS) IP addresses and your local domain name to your /etc/resolv.conf like this:
nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
look up wireless setup if not going to use nm once rest of system is set up
=== Configure pacman
Repositories
For repository selections and pacman options, edit pacman.conf:
Note: When choosing repos, be sure to uncomment both the [repo_name] header lines, as well as the Include lines.
Failure to do so will result in the selected repository being omitted! This is a very common error.
# nano /etc/pacman.conf
Most people will want to use [core], [extra] and [community].
If you installed Arch Linux x86_64, it's recommended that you enable the [multilib] repository, as well (to be able to run both 32 bit and 64 bit applications):
[multilib]
Include = /etc/pacman.d/mirrorlist
See Official Repositories for more information, including details about the purpose of each repository.
For software unavailable directly through pacman, see Arch User Repository.
Mirrors
Mirrors are listed in /etc/pacman.d/mirrorlist, ordered by priority.
# pacman -Sy
Next update the system
Check Arch news for announcements. If you did not read this before do it now.
=== # pacman -Syu
Though this should normally give no new updates if it is a short time after the initial install.
=== Set root password and add normal user mike (or any other user(s) needed)
=== passwd
=== useradd -m -g users -G wheel -s /bin/bash mike
Install and configure a bootloader
=== rEFInd boot manager
install refind-efi and efibootmgr via pacman -S.
Note that in my case the ESP is mounted as /boot/efi, so we need to make an EFI directory and within it a refind directory.
# mkdir -p /boot/efi/EFI/refind
# cp /usr/share/refind/refind_x64.efi /boot/efi/EFI/refind/refind_x64.efi
# cp /usr/share/refind/refind.conf-sample /boot/efi/EFI/refind/refind.conf
# cp -r /usr/share/refind/icons /boot/efi/EFI/refind/
# cp -r /usr/share/refind/fonts /boot/efi/EFI/refind/
# mkdir /boot/efi/EFI/refind/drivers_x64
# cp -r /usr/share/refind/drivers_x64/ext4_x64.efi /boot/efi/EFI/refind/drivers_x64/
Create a refind_linux.conf in /boot/ containing:
"Boot to X" "root=PARTUUID=f4b79029-10cc-4272-8d57-7e491ccd28a1 ro rootfstype=ext4 add_efi_memmap systemd.unit=graphical.target"
"Boot to console" "root=PARTUUID=f4b79029-10cc-4272-8d57-7e491ccd28a1 ro rootfstype=ext4 add_efi_memmap systemd.unit=multi-user.target"
You can find the PARTUUID values using ls -l /dev/disk/by-PARTUUID/
The refind_linux.conf must be in the same directory as the initramfs and kernel which in my case is in /boot/
In the refind.conf file can include the directive:
scan_driver_dirs EFI/tools/drivers_x64
Edit the refind.conf file to use arch as the default boot by including the line:
default_selection vmlinuz
Can also add specific stanzas to this file to allow choosing normal kernel or other variants if custom kernel is in the /boot/ directory.
Finally must place an entry in the nvram - not all motherboard firmware plays nice with the efibootmgr package.
Can try:
efibootmgr -c -g -d /dev/sdX -p Y -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'
where X is the ESP partition and NOT the root drive device number, and Y is the ESP partition number. eg if your ESP is at /dev/sda2 for example then X is "a" and Y is 2
Can check the entry with:
# efibootmgr -v
Can remove false entries with:
# efibootmgr -v -b 0007 -B
to remove entry number 7 for example.
If this fails to work properly then it is necessary to boot the install usbkey and select the uefi shell v2.
From the uefi shell can modify and manage nvram entries.
From uefi shell can add a new entry at position 0 with:
bcfg boot add 0 fs1:\EFI\refind\refindx64.efi "Arch Linux (rEFInd)"
Need to check the mapping of drives with the map command. In my case fs0 was the uefi ESP directory on the usbkey.
FS1 was the ESP directory on the FAT32 partition on the SSD.
=== Unmount the partitions and reboot
Exit from the chroot environment:
=== # exit
Since the partitions are mounted under /mnt, we use the following command to unmount them:
=== # umount /mnt/{boot,home,}
Reboot the computer:
=== # reboot
Tip: Be sure to remove the installation media, otherwise you may boot back into it.
These notes are for my main method for install using rEFInd as the boot manager. I also now install grub and have that as a backup bootloader if rEFInd does not not boot for any reason. The method for that is detailed in the thread at https://bbs.archlinux.org/viewtopic.php?id=181906
Maybe somewhere in these notes there will be a clue to help you find where the problem may lie in the way your system was installed.
Last edited by mcloaked (2014-06-26 08:49:19)
Mike C
Offline
Thanks, I'll take a look at those and try it. I tried the multi user command with Grub and it still hangs after starting graphical interface.
Here is what I think I'll do when I get home. As I can't do it at work because I need access to a browser to login to the wifi, and the browser that comes packaged with arch gives me a 504 error when trying to pass on the credentials. I am going to redo the install. (for like the 20th time haha...oh boy). I will record each line of code and the messages that are relevant and post them here. Hopefully there is an obvious error that I am doing and you will be able to point it out. As I can't really think of anything else at this point that we can try.
Last edited by 15goudreau (2014-06-24 18:17:16)
Offline
Thanks, I'll take a look at those and try it. I tried the multi user command with Grub and it still hangs after starting graphical interface.
Here is what I think I'll do when I get home. As I can't do it at work because I need access to a browser to login to the wifi, and the browser that comes packaged with arch gives me a 504 error when trying to pass on the credentials. I am going to redo the install. (for like the 20th time haha...oh boy). I will record each line of code and the messages that are relevant and post them here. Hopefully there is an obvious error that I am doing and you will be able to point it out. As I can't really think of anything else at this point that we can try.
OK hope it works this time! By the way I have locale and keyboard configs in my installs since I am in the UK - if you are in the USA you may not need any locale setups and I expect others who are in the USA will tell me if I am wrong! Good luck with the next try. Just to stress again that you should not be trying to boot to a graphical interface until you have installed the necessary graphics packages. The main install that I sent my notes for is the base install. Only once I have the system booted to the basic minimal system will I then install the whole raft of other packages that are necessary for a graphical install, desktop and so on. If you try to boot to a graphical target after only the minimal install then I don't think you will get it to work - so the system should boot to multi-user.target after the base install. Only once the base install has been booted should you then run pacman to install the necessary xorg packages (as root) such as:
pacman --needed -S xorg-server
pacman --needed -S xorg-xinit
pacman --needed -S xorg-twm xorg-xclock xterm
pacman --needed -S xorg-utils xorg-server-utils
pacman --needed -S xorg xorg-apps xorg-drivers xorg-fonts
and if you want a kde desktop then for example:
pacman --needed -S kdebase-workspace
pacman --needed -S kde-meta
pacman --needed -S kdebase-kdialog
pacman --needed -S kde-l10n-en_gb
pacman --needed -S qtcurve-kde4 qtcurve-gtk2
pacman --needed -S kdeplasma-applets-networkmanagement networkmanager
Only once the set of packages like the above is installed in addition to the base install can you then enable the graphical login.
So once the base install is done then you can start to configure the system!
Last edited by mcloaked (2014-06-24 18:53:50)
Mike C
Offline
Yeah, I wasn't trying to go to a GUI so I don't know why it kept hanging there. When I had my first successful install/boot (before openSUSE). It took me straight to the command line after the install (yay!). So that is what I am trying to achieve. Should I not install base-devel, or is that part of the "base" you were referring too? I really hope we can figure it out, because just the short amount of time I was trying Arch, I really liked it. I like starting from the group up so that's why I picked Arch!
Offline
Yeah, I wasn't trying to go to a GUI so I don't know why it kept hanging there. When I had my first successful install/boot (before openSUSE). It took me straight to the command line after the install (yay!). So that is what I am trying to achieve. Should I not install base-devel, or is that part of the "base" you were referring too? I really hope we can figure it out, because just the short amount of time I was trying Arch, I really liked it. I like starting from the group up so that's why I picked Arch!
Installing base and base-devel are normal during the install so that is fine.
Mike C
Offline
Ok, Step one: Insert usb and boot into UEFI mode
root@archiso~# loadkeys dvorak
efivar -l
*normal UEFI output
iw dev *for wireless*
phy#0
Intefrace wls1
ifindex 3
wdev 0x1
addr 48:5d:60:ca:dc:ad
type managed
wifi-menu ws1
connecting to network
sgdisk --zap-all /dev/sda
gdisk
GPT fdisk (gdisk) version 0.8.10
type device filename, or press <enter> to exit: /dev/sda
partition table scane:
mbr:no present
bsd: not presenst
apm: not present
GPT: no present
creating new GPT entries
Command: n
Partition number: 1
First Sector: enter
last sector:+15g
hex code:8300
Command: n
Partition number:2
First sector:enter
Last sector: +15g
Hex code: 8300
Command:n
partition number 3
first sector :enter
last sector: +512m
Hex Code: EF00
Command: n
partition 4
first sector: enter
last sector: +12g
hex code:8300
Command:n
partition 5
first sector: enter
last sector: enter
hex code:8300
Command: p
number start(sector) End(sector) size code name
1 2048 31459327 15gb 8300 linux filesystem
2 31459328 62916607 15gb 8300 linux filesystem
3 62916608 63965183 512 mb EF00 EFI system
4 63965184 89131007 12 gb 8300 linux filesystem
5 89131008 114270311 12gb 8300 linux filesystem
command: w
final checks complete. about to write GPT data. This will overwrite existing partitions!!
do you want to proceed:Y
Ok; writing new GUID partition table (GPT) to /dev/sda
the operation has completed successfully.
mkfs.ext 4 /dev/sda1
mkfs.ext 4 /dev/sda2
mkfs.ext 4 /dev/sda4
mkfs.ext 4 /dev/sda5
mkfs.fat -F32 /dev/sda3
lsblk -f
*everything looks good*
mount /dev/sda1 /mnt
mkdir /mnt/home
mkdir /mnt/boot
mkdir /mnt/var
mkdir /mnt/etc
mount /dev/sda2 /mnt/home
mount /dev/sda3 /mnt/boot
mount /dev/sda4 /mnt/var
mount /dev/sda5 /mnt/etc
nano /etc/pacman.d/mirrorlist
*remove all but 4 best US mirrors*
pacstrap /mnt base base-devel
*installing everything*
genfstab -U -p /mnt >> /mnt/etc/fstab
nano /mnt/etc/fstab
*everything looks good root is number 1 everything else 2*
arch-chroot /mnt /bin/bash
nano /etc/locale.gen
*uncomment en_US.UTF-8 UTF-8 and save*
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
nano /etc/vconsole.conf
KEYMAP=dvorak
ln -s /usr/share/zoneinfo/US/Eastern /etc/localtime
hwclock --systohc --utc
echo arch > /etc/hostname
nano /etc/hosts
*insert arch after first localhost*
pacman -S iw wpa_supplicant dialog
mkinitcpio -p linux
*normal stuff*
possibly missing firmware for module: aic94xx and smsmdtv
passwd
*enter in password*
pacman -S dosfstools
pacman -S grub efibootmgr
grub-install --target=x84_64 --efi-directory=/boot --bootloader-id=arch_grub --recheck
installing for x86_64 platform
installation finished. no error reported.
grub-mkconfig -o /boot/grub/grub.cfg
creating grub configuration file...
found linux image: /boot/vmlinuz-linux
found initrd image: /boot/initramfs-linux.img
found fallback initrafms image: /boot/initramfs-linux-fallback.img
done
exit
umount -R /mnt
reboot
*remove USB*
*start grub from usb*
now I get something different actually..... ugh
[failed to start create volatile files and directories
see 'systemctl status systemd-tmpfiles-setup.service' for details.
[ok]started trigger flushing of journal to persistent storage.
[ok] started update UTMP about system boot/shutdown.
[ok] started target system initialization.
[ok] reached target timers.
[ok] listening on D-Bus system message bus socket
[ok] reached target sockets.
[ok] reached target basic system.
starting permit user sessions...
starting D-bus system message bus...
[ok] started d-bus system message bus.
starting login service
[ok] started permit user sessions
startingd-bus system message buss....
[ok] started d-bus system message bus.
[failed] failed to start login service.
see 'systemctl status systemd-logind.service' for details.
stopping login service
[ok] storpped login service
starting login service
starting d-bus system message buss...
[ok] started d-bus system message bus.
[failed] to start login service.
and then it just keeps repeating that over and over......
Offline
power button doesn't do anything, AND ctrl+alt+delete doesn't do anything(actually it does after it hangs for a while)....so this is different...but still same errors and not booting ....frustrating
Offline
I left it on for a while. It started saying [failed] to start d-bus system message bus, see 'systemctl status systemd-login.service'
then finally reached target multi-user system. reached target graphical interface and it hangs.
Offline
There is clearly a problem with systemd being unable to start one of the key services which is in this case systemd-tmpfiles-setup.service. The question is why this is a problem. Is it possible to check by booting your usbkey, and without starting from scratch, just mount your partitions and arch-chroot into the /mnt directory, and check the file /etc/pacman.conf - presumably you don't have the testing repos enabled, or multilib? i.e. the relevant section in pacman.conf should look like:
#[testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
#[multilib]
#Include = /etc/pacman.d/mirrorlist
i.e. the only repos that are not commented out are core, extra and community.
It may be something amiss with dbus affecting systemd but at this point I don't have the answer. You might try googling for some of the phrases from the error output and see if any bug reports or other solutions appear in the list of links you get. But at this point I am stumped. If I think of something useful to get at a way forward I will post further. I guess at this point you can't see the systemd journal since you can't boot! At least that would get some more information. I don't know if you can get at the journal for the failed previous boot from within the chroot booted from the usbkey using journalctl -b and looking for lines related to the fail point.
I must admit that I am slightly suspicious that the method used to create the usbkey with the iso may have led to the install not working the same way as when generating the key using the standard dd method. Is it possible to burn a physical CD/DVD with the iso and boot with that instead of the usbkey if you have an optical drive on your machine? It would be worth doing that as a test to check that the problem does not lie with a problematic usbkey. (An externally plugged in optical drive on a usb port can usually be booted if the machine itself does not have an internal optical drive)
On the power button not working - usually it is necessary to hold the power button down for at least 6 or 7 seconds before it will do an override emergency shutdown.
Last edited by mcloaked (2014-06-25 08:34:34)
Mike C
Offline
I tried getting access to the journal and not a single file has been stored. So unfortunately that isn't an option. I am also very suspcious of the way the usb key was installed. I've used thumbdrives to install OSes before but now with these, when I try formatting them in windows back to normal I get a bunch of errors saying it can't find the necessary file. It's all really weird. I think my next course of action is going to make a bootable thumbdrive of mint, then boot into that with a copy of June's iso of arch. Then use the dd command in mint to get my other flash drive working and try it there. Else I'm going to install it from mint using the "use another linux distro" to install it. I don't know why I'm getting different bootup issues with each install, I wish it was more consistent. I will report back with the DD method, and if I can't make that work I might go and pick up some CD-Rs and try that.
In my pacman.conf I have only core extra and community repos selected.
Last edited by 15goudreau (2014-06-25 12:09:37)
Offline
So I installed mint and ran the DD command. Now I have a partition with EFI on my flashdrive but arch isn't on it and I'm confused. Also when I try to boot up off of it I get the "error failed to install override security policy: (14) not found" which is fixed by replacing the bootx64.efi with loader.efi....but those don't exist on my flashdrive....
I'm buring a dvd. hopefully this will address the problems
Booting from DVD doesn't allow for UEFI booting. So now I'm pretty stuck with my only option being install from another linux system which I think I am going to try and do. Although, I guess my next question would be. Is there a good reason to be using UEFI, and if not maybe I just boot BIOS instead? I'm kind of reaching my limit as to why things aren't working out here.
Last edited by 15goudreau (2014-06-25 14:49:09)
Offline
So I installed mint and ran the DD command. Now I have a partition with EFI on my flashdrive but arch isn't on it and I'm confused. Also when I try to boot up off of it I get the "error failed to install override security policy: (14) not found" which is fixed by replacing the bootx64.efi with loader.efi....but those don't exist on my flashdrive....
If you loop mount the archiso file before even writing to the key (and check the md5sum or sha1sum to ensure that the file integrity is sound), you can see what is in it and there is no arch directory in the EFI directory on the file, but it is in the root directory, so that it perfectly normal. Here is what is in the archiso file for 2014-06-01 - a copy of the commands in a shell are:
$ mkdir archiso-mount
$ sudo mount -o loop path/to/2014-06-01/archlinux-2014.06.01-dual.iso archiso-mount
mount: /dev/loop0 is write-protected, mounting read-only
$ ls archiso-mount/
EFI arch isolinux loader
$ ls archiso-mount/EFI/
archiso boot shellx64_v1.efi shellx64_v2.efi
When you said "but arch isn't on it" - that is true for the EFI directory, and there is an archiso directory in EFI on the key:
$ ls archiso-mount/EFI/archiso/
efiboot.img
However there is an arch directory on the top level:
$ ls archiso-mount/arch/
aitab checksum.i686.md5 i686 pkglist.x86_64.txt
boot checksum.x86_64.md5 pkglist.i686.txt x86_64
What were you expecting to see on the usbkey once you had prepared it? The iso file is specifically written to be used only on install or rescue media. Remember also that the usbkey when it has been prepared using the dd method has a special hybrid partition table and it may not look like a typical key when mounted due to that. When you wrote the iso file to the key, did you reformat it before writing using the dd command as per the advice in the wiki? Presumably you followed the advice that it should be unmounted at the point that you used the dd command, and you were root when you did so?:
# dd bs=4M if=/path/to/archlinux-2014.06.01-dual.iso of=/dev/sdx && sync
Once the key has been wrtten using dd for the archiso then it needs to be reformatted before it can be used as a normal usbkey again.
It might be an idea to use a different fresh unused usbkey, and write the file from scratch and see if it boots to the normal shell prompt for the install?
It might be worth having a look at https://wiki.archlinux.org/index.php/US … tion_Media if you haven't already done so.
Last edited by mcloaked (2014-06-25 14:46:42)
Mike C
Offline
From the research I did, the security policy is an issue with my motherboard with UEFI. I can't disable secure boot in my BIOS which is ridiculously frustrating. So the way I got around it, which was suggested here: http://superuser.com/questions/615142/u … ity-policy
I ran into the same error on an Asus UX21E machine. The latest BIOS (v 214) didn't fix the trick, and my USB disk was properly prepared as a EFI boot devices.
I was able to work around the problem using a hack I found on a related thread on the ArchLinux BBS. The gist of it is that since this system shipped with Windows 7 it doesn't have Secure Boot stuff enabled by default (in my case it isn't even supported). This thows off the ArchLinux boot routie which seems to expect it.
You can disable to check entirely by switching out which file the EFI system boots to. There are three .efi files in the ISO image. By overwriting the one your system is using with the simpler non Secure Boot enabled one, you can sidestep the whole problem.
Mount your USB boot media (or unpack the ISO to later repack and burn if you must use a CD)
Move to the directory where it is mounted and issue the following copy command:
cp EFI/boot/loader.efi to EFI/boot/bootx64.efi
Boot that sucker up and eat cake.
Worked like a charm for me. For the record I used the 2013-11-01 Archlinux media.
If I remember correctly in the root directory there was no file...which I thought was odd. I'm going to double check to make sure the flash drive was unmounted and then run the dd command. However regardless of getting the image on to the USB, if I can use the above work around then I won't be able to boot into UEFI mode, due to secure boot. Unless I can edit the .iso and replace the bootx64.efi file and then rewrite it as an iso and then save that image to my flash drive I'm at a loss as to how I'll be able to make it work. Unless there is some way by using DD to make sure I still have write access to the drive which currently I do not.
so I booted back into mint
inserted my usb drive. formatted it fat 32 with mint. then I opened up the terminal and made sure it wasn't mounted. I ran the dd script and it works. I look at the files under the file manager and can see the EFI etc...folders. However again it is read only. If I insert the drive into a windows computer and look it up under disk management it only shows the EFI partition with those file I'm guessing, however I have no access to them in My Computer.
Last edited by 15goudreau (2014-06-25 15:13:11)
Offline
It is entirely possible that being unable to switch off secure boot is the primary underlying reason for the problems. I have not come across a computer in which you cannot switch off secure boot and that is completely new territory for me. I always thought that all uefi bootable machines would have a setting in BIOS to disable secure boot - but it is not always obvious where that setting is.
Doing your workaround may enable the machine to boot the install usbkey but is not a guarantee that other problems might arise, so I expect that it will be worth exploring by searching for your machine and secure boot and see if anyone else has been able to change the secure boot setting to off in BIOS. I may be wrong but I seem to remember that there was an agreement that uefi machines (but not arm motherboards) are required to give the user control over the secure boot settings. Maybe other experts will be able to confirm?
Mike C
Offline
It's just odd that it worked the first time I tried it out which is why I don't understand what is different. I'm going to try a different USB key when I get home and see if that makes a difference. As I am really using my laptop as a demo for arch on my desktop, maybe it makes sense to skip the UEFI option and just proceed with the install as BIOS so that I get an understanding of how arch works. I'd really love to know what is causing all these issues though.
Ok here is something else I just discovered. When I boot mint off my flashdrive there is a quick flash of "secure boot not enabled". So that leads me to believe my laptop doesn't have secure boot.....so what else could be throwing that error then if it isn't secure boot...
Last edited by 15goudreau (2014-06-25 16:50:58)
Offline
If you get into the BIOS settings is there anything in the Advanced tab which might look like a secure boot setting? Presume the laptop originally had Windows on it - was it W7 or W8? I would imagine that legacy boot would work though if you can solve the uefi puzzle it would be nice! The other factor is that your machine is one which was produced in the period where uefi was just getting going and it is entirely possible that the uefi bios code is buggy in that particular laptop. I don't know if others have installed uefi mode with different distros on that machine. Of course since arch is a cutting edge distro then the install iso from a few months ago will be quite different to the current one and the installed packages different also, so the newer code could expose bugs in the bios that previously you got away with!
Last edited by mcloaked (2014-06-25 17:00:08)
Mike C
Offline
No I have gone through every menu option, the laptop is from 2011 so it's pretty old. It shipped with Windows 7. Legacy boot is enabled. That wouldn't be my issue right? having legacy boot enabled? I feel like I'm grasping at straws.
Offline
No I have gone through every menu option, the laptop is from 2011 so it's pretty old. It shipped with Windows 7. Legacy boot is enabled. That wouldn't be my issue right? having legacy boot enabled? I feel like I'm grasping at straws.
In the machines that I have experience with for uefi (4 machines) they all have both legacy boot as well as uefi enabled in the bios - and none have been a problem because uefi boot is the default if the media support it. However others may have experience with older machines where that may be different but it will be up to others to report their experience. My machines are two from the past 6 months and two from the beginning of 2013 so none are the same era as yours. I don't think I can offer anything further to help with your uefi issues - but if you want the machine to be running arch and are happy to use legacy boot then I expect that will be more likely to work without any problem than the uefi boot that has caused the issues you have experienced. At least getting it to successfully boot with mbr using say grub will give you some experience with using arch instead of debugging what has become a very difficult problem to diagnose.
Mike C
Offline
So I just checked the beginners install wiki... I see this note Note: ArchLinux image 2014_05 does not boot on a FAT32-filesystem, booting ARCH_2014_04 works fine (UEFI-mode). See FS#40217. I checked the error but I'm not sure it's applicable to what I am installing. I think I'm going to download the April version and try that out. Fingers crossed.
Offline
So I just checked the beginners install wiki... I see this note Note: ArchLinux image 2014_05 does not boot on a FAT32-filesystem, booting ARCH_2014_04 works fine (UEFI-mode). See FS#40217. I checked the error but I'm not sure it's applicable to what I am installing. I think I'm going to download the April version and try that out. Fingers crossed.
That is very interesting and I note that the last comment in the flyspray comments at https://bugs.archlinux.org/task/40217 from the 15th June refers to the problem still being there in the June iso! So yes trying the April iso is worth a shot. I'd be very interested to hear if this resolves your issue.
Mike C
Offline
I have formatted the usb key and created my file system. I don't have access to wifi at work because it needs a browser, and elinks doesn't allow me to press the "accept" button, which sucks. So after I get home I will try and I'll report back. I'm hopeful this was the issue.
Offline
Tried to reinstall no progress was had. Same issue..... I think I am going to skip UEFI for now. That or try it on a blank hdd in my desktop and see if I get the same results.
Offline
One important point - I realise that my year old notes that I copied into this thread earlier for the install regarding efibootmgr for rEFInd had an important error - the correct efibootmgr command should be:
efibootmgr -c -g -d /dev/sdX -p Y -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'
where X is the ESP partition and NOT the root drive device number, and Y is the ESP partition number. eg if your ESP is at /dev/sda2 for example then X is "a" and Y is 2
So if you are using rEFInd or Gummiboot in UEFI then the NVRAM entry which is written by efibootmgr must obviously point to the boot manager or boot loader partition and not to the root partition - it is the bootloader that will then need to know where the root partition is! Hopefully this will not have changed the solutions you tried for the problem you have but if you wrote the nvram entry pointing to the root partition instead of the ESP then of course it won't boot!
However the description for the efibootmgr command was already correct in my post at comment #22
Last edited by mcloaked (2014-06-26 09:03:01)
Mike C
Offline