[SOLVED] Splitting grub2 package as grub2-bios and grub2-efi

Hi all,
         I currently maintain the grub2-efi-bzr http://aur.archlinux.org/packages.php?ID=40290 and grub2-bios-bzr http://aur.archlinux.org/packages.php?ID=41055 AUR packages. I proposed a split PKGBUILD to tpowa and pressh for grub2 package based on requests at https://bugs.archlinux.org/task/19838 and https://bugs.archlinux.org/task/20419 . The PKGBUILD creates 4 packages grub2-common, grub2-bios, grub2-efi-x86_64, grub2-efi-i386.
I need your impressions and suggestions on improving the PKGBUILD, especially in avoiding the use of multilib toolchain. Thanks in advance.
grub2-bios for Archlinux i686 and x86_64 (multilib needed in x86_64) - compiled as any in Arch64
grub2-bios for Archlinux i686 and x86_64 (multilib needed in x86_64) - compiled as any in Arch64
grub2-efi-x86_64 for Archlinux i686 and x86_64 (no need for multilib in x86_64, not possible to compile in i686) - compiled as any in Arch64
I currently use x86_64 Archlinux with gcc-multilib from the official repo. I do not have i686 linux (either Arch or any other distro) installed. My system compiles both grub2-efi-x86_64 and grub2-efi-i386 using the below PKGBUILD. I use only grub2-efi-x86_64 (or x86_64-EFI) in my system.
_grub2_rev=3040
_grub2_lua_ver=19
_grub2_gpxe_ver=12
_grub2_ntldr_ver=13
_grub2_915_ver=6
_USE_MULTILIB=1
pkgname=('grub2-common' 'grub2-bios' 'grub2-efi-i386')
pkgbase="grub2"
pkgver="1.99beta0_r${_grub2_rev}"
pkgrel=1
url="http://www.gnu.org/software/grub/"
arch=('i686' 'x86_64')
license=('GPL3')
optdepends=()
makedepends=('bdf-unifont' 'python2' 'xz' 'autogen' 'texinfo' 'help2man' 'gettext')
options=(strip docs zipman !emptydirs)
groups=('grub2')
conflicts=()
provides=()
# source=("ftp://alpha.gnu.org/gnu/grub/grub-${pkgver}.tar.gz"
source=("http://dl.dropbox.com/u/9710721/grub2_sources/grub2_r${_grub2_rev}.tar.xz"
"http://dl.dropbox.com/u/9710721/grub2_sources/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
"http://dl.dropbox.com/u/9710721/grub2_sources/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
"http://dl.dropbox.com/u/9710721/grub2_sources/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
"http://dl.dropbox.com/u/9710721/grub2_sources/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz"
'grub2.default'
'grub.cfg.example'
'20_memtest86+'
'05_archtheme')
noextract=("grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
"grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
"grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
"grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz")
sha256sums=('50e17683b972c0f5aab9b252af6c800bdc6068aab3654059046a435a3c5eccb6'
'4d092a8780342a0f7fb5f5f92dc3b123fb5dd583ba137357630c56d416ed3114'
'8ce1b6b89ef0e3545736477d4c4418524e32c7fb9ba40c67dcebfb84b98cde66'
'554e9d65805ac61ca9a8c7cecdf6e7d28375dc28b3984140faef0e929e1ebd5b'
'f0bd90bbbad4b07ec2053d4056f7c5252e95e97477af4206df59ec2d72d88ce0'
'9dc7834514deabba3eb3ed19d0c7d73e3ab0114b7cd8a2eb6b17e8b7a6328143'
'8128da77d8e8c86077fde561ba107756ece744ad54a16161c637ce73f836a84a'
'ba0f871ee93760d14d7f19709bb875af4a863a758776a23519ca7100a63da295'
'6628b70b857c024297af38cf519bfe7d518a122030ab5d0958677a60ddff6cdd')
# DESTARCH="i686"
DESTARCH="x86_64"
if [ "${CARCH}" = 'x86_64' ] && [ "${_USE_MULTILIB}" = '1' ]
then
makedepends=(${makedepends[@]} 'gcc-multilib' 'gcc-libs-multilib' 'lib32-glibc' 'binutils-multilib' 'libtool-multilib')
_EFIEMU="--enable-efiemu"
_CFLAGS=""
_HOST="x86_64"
if [ "${DESTARCH}" = 'i686' ]
then
_CFLAGS="-m32"
_HOST="i686"
fi
elif [ "${CARCH}" = 'x86_64' ] && [ "${_USE_MULTILIB}" = '0' ]
then
echo "This package can be built only in a i686 system or in a x86_64 system using gcc-multilib. Exiting."
exit 1
fi
if [ "${CARCH}" = 'i686' ]
then
_EFIEMU="--disable-efiemu"
if [ "${DESTARCH}" = 'x86_64' ]
then
_CFLAGS="-m32 -static"
_HOST="i686"
fi
fi
build_grub2-common_and_bios() {
rm -rf ${srcdir}/grub2_bios_${DESTARCH} || true
cp -r ${srcdir}/grub2 ${srcdir}/grub2_bios_${DESTARCH}
cd ${srcdir}/grub2_bios_${DESTARCH}
mkdir ${srcdir}/grub2_bios_${DESTARCH}/grub2-extras/
cd ${srcdir}/grub2_bios_${DESTARCH}/grub2-extras/
bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz
bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz
bsdtar xf ${srcdir}/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz
bsdtar xf ${srcdir}/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz
cd ${srcdir}/grub2_bios_${DESTARCH}
export GRUB_CONTRIB=${srcdir}/grub2_bios_${DESTARCH}/grub2-extras/
## Archlinux changed default /usr/bin/python3, need to use /usr/bin/python2 instead
cp ${srcdir}/grub2_bios_${DESTARCH}/autogen.sh ${srcdir}/grub2_bios_${DESTARCH}/autogen_unmodified.sh
sed -i 's|python|python2|' ${srcdir}/grub2_bios_${DESTARCH}/autogen.sh
${srcdir}/grub2_bios_${DESTARCH}/autogen.sh
echo
mkdir ${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS
cd ${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS
CFLAGS="${_CFLAGS}" ${srcdir}/grub2_bios_${DESTARCH}/configure --with-platform=pc \
--host=${_HOST} \
--program-transform-name=s,grub,grub2, \
--enable-mm-debug \
${_EFIEMU} \
--enable-grub-mkfont \
--prefix=/usr \
--bindir=/bin \
--sbindir=/sbin \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc
echo
CFLAGS="${_CFLAGS}" make
echo
${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS/grub-mkfont --output=${srcdir}/unifont.pf2 /usr/share/fonts/misc/unifont.bdf || true
${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS/grub-mkfont --ascii-bitmaps --output=${srcdir}/ascii.pf2 /usr/share/fonts/misc/unifont.bdf || true
build_grub2-efi-i386() {
mkdir ${srcdir}/grub2_efi/BUILD_EFI_i386
cd ${srcdir}/grub2_efi/BUILD_EFI_i386
CFLAGS="${_CFLAGS}" ${srcdir}/grub2_efi/configure --with-platform=efi \
--target=i386 \
--host=${_HOST} \
--program-transform-name=s,grub,grub2, \
--enable-mm-debug \
--disable-efiemu \
--prefix=/usr \
--bindir=/bin \
--sbindir=/sbin \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc
echo
CFLAGS="${_CFLAGS}" make
echo
build_grub2-efi() {
rm -rf ${srcdir}/grub2_efi || true
cp -r ${srcdir}/grub2 ${srcdir}/grub2_efi
rm -rf ${srcdir}/grub2
cd ${srcdir}/grub2_efi
mkdir ${srcdir}/grub2_efi/grub2-extras/
cd ${srcdir}/grub2_efi/grub2-extras/
bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz
bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz
cd ${srcdir}/grub2_efi
export GRUB_CONTRIB=${srcdir}/grub2_efi/grub2-extras/
## Archlinux changed default /usr/bin/python3, need to use /usr/bin/python2 instead
cp ${srcdir}/grub2_efi/autogen.sh ${srcdir}/grub2_efi/autogen_unmodified.sh
sed -i 's|python|python2|' ${srcdir}/grub2_efi/autogen.sh
${srcdir}/grub2_efi/autogen.sh
echo
build_grub2-efi-i386
echo
build() {
echo
build_grub2-common_and_bios #
echo
build_grub2-efi #
echo
package_grub2-common() {
pkgdesc="The GNU GRand Unified Bootloader version 2 - Files common for all platforms"
install="grub2-common.install"
depends=('sh' 'xz' 'freetype2' 'mtools' 'dosfstools')
conflicts=('grub2')
backup=('etc/default/grub' 'etc/grub.d/40_custom')
cd ${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS
make DESTDIR=${pkgdir} install
## install grub2-extras ntldr-img's grubinst as grub2-grubinst
install ${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS/grub-core/grubinst ${pkgdir}/sbin/grub2-grubinst || true
## remove platform specific files
rm -rf ${pkgdir}/usr/lib/grub2/
rm -rf ${pkgdir}/usr/share/grub2/
## remove some problamatic files - may work properly in future
rm -rf ${pkgdir}/etc/bash_completion.d/
cp ${pkgdir}/sbin/grub2-install ${pkgdir}/sbin/grub2_bios-install
cp ${pkgdir}/sbin/grub2-install ${pkgdir}/sbin/grub2_efi_x86_64-install
cp ${pkgdir}/sbin/grub2-install ${pkgdir}/sbin/grub2_efi_i386-install
sed -i "s|^\(target_cpu\)=.*|\1=i386|; \
s|^\(platform\)=.*|\1=pc|" \
${pkgdir}/sbin/grub2_bios-install
sed -i "s|^\(target_cpu\)=.*|\1=x86_64|; \
s|^\(platform\)=.*|\1=efi|" \
${pkgdir}/sbin/grub2_efi_x86_64-install
sed -i "s|^\(target_cpu\)=.*|\1=i386|; \
s|^\(platform\)=.*|\1=efi|" \
${pkgdir}/sbin/grub2_efi_i386-install
## install the /etc/grub.d/ files
install ${startdir}/05_archtheme ${pkgdir}/etc/grub.d/05_archtheme
install ${startdir}/20_memtest86+ ${pkgdir}/etc/grub.d/20_memtest86+
## install the unifont files
install ${srcdir}/unifont.pf2 ${pkgdir}/etc/grub.d/unifont.pf2 || true
install ${srcdir}/ascii.pf2 ${pkgdir}/etc/grub.d/ascii.pf2 || true
## install /etc/default/grub
install -Dm644 ${srcdir}/grub2.default ${pkgdir}/etc/default/grub
## install example grub2 config file
install -Dm755 ${srcdir}/grub.cfg.example ${pkgdir}/etc/grub.d/grub.cfg.example
## rename grub.info to grub2.info
mv ${pkgdir}/usr/share/info/grub.info ${pkgdir}/usr/share/info/grub2.info || true
export CARCH="${DESTARCH}"
package_grub2-bios() {
pkgdesc="The GNU GRand Unified Bootloader version 2 - Built for PC BIOS"
arch=('any')
depends=(grub2-common=${pkgver})
replaces=('grub2')
install="grub2-bios.install"
cd ${srcdir}/grub2_bios_${DESTARCH}/BUILD_BIOS
make DESTDIR=${pkgdir} install
## remove non platform-specific files
rm -rf ${pkgdir}/bin/
rm -rf ${pkgdir}/sbin/
rm -rf ${pkgdir}/etc/
rm -rf ${pkgdir}/usr/share/info/
rm -rf ${pkgdir}/usr/share/man/
rm -rf ${pkgdir}/usr/lib/grub/
package_grub2-efi-i386() {
pkgdesc="The GNU GRand Unified Bootloader version 2 - i386 UEFI version"
arch=('any')
depends=("grub2-common=${pkgver}" 'efibootmgr-git')
replaces=('grub2-efi-x86')
install="grub2-efi.install"
cd ${srcdir}/grub2_efi/BUILD_EFI_i386
make DESTDIR=${pkgdir} install
## remove non platform-specific files
rm -rf ${pkgdir}/bin/
rm -rf ${pkgdir}/sbin/
rm -rf ${pkgdir}/etc/
rm -rf ${pkgdir}/usr/share/info/
rm -rf ${pkgdir}/usr/share/man/
rm -rf ${pkgdir}/usr/lib/grub/
sed -i "s|^\(_EFI_ARCH\)=.*|\1=i386|" ${startdir}/grub2-efi.install
Last edited by skodabenz (2011-01-30 19:36:25)

The package is now in testing repo and will soon be moved to extra repo. Solved by splitting the PKGBUILDs and through direct interaction with grub2 maintainer using irc.

Similar Messages

  • [solved] Can grub2-efi chainload a bios target?

    Hi,
    my laptop runs arch in efi-mode which works fine for me for everyday use. However (its summer break) I would like to install windows for some gaming.
    Since my internal hard drive is occupied by linux and data, I tried to install to an external hard drive, following this guide. To make matters worse, since there is no windows on my laptop, I did this using virtual box, which does not allow booting windows in uefi mode, so I'm stuck with a bios windows install on my external hard drive that I would like to chainload from grub2-efi. Is this possible, and if yes, how?
    I tried the commands from the wiki page:
    menuentry "Windows" {
    set root=(hd1,1)
    chainloader --force +1
    but this gives me an error, saying that the efi path is invalid (not a big surprise)
    Last edited by Mox (2013-08-05 17:33:24)

    Okay, so is the windows installation on bare-metal or not?  You say you did this via virtualbox, but that would imply that there is no reason to have to chainload from grub to bios mode.  So I am a bit confused here.  (And by bare-metal, I just mean not in a virtual machine image, I know that it is on an external drive at least).
    I have not come across any documentation that suggests that this is a possibility from grub2-efi.  That doesn't mean that there is no way to do this, but I do not think that there is a legitimate (read "supported") way to do this.  rEFInd, Rod Smith's fork of rEFIt, is supposedly able to handle the bios boot sector, but it is not totally reliable unless you are using a Mac, for which this functionality was actually designed.
    I have seen tutorials about how to convert windows from bios to UEFI or vice versa though. So that may be an option.
    On my system, I can set the machine to use both UEFI and bios modes at the same time.  It then also gives me a choice of which should be the preferred method in the event that both methods are available.  So if I were to have this setup, where Linux (or whatever) is configured to boot with UEFI, and another operating system (not just limited to windows) is configured to use bios mode, then I could quite easily make both available.  What I would need to do is to configure the system to use my UEFI bootloader using a firmware entry. That is it would need a direct nvram entry created using something like efibootmgr.  Then I would set the bios to use 'both" (UEFI and legacy bios) and give preference to legacy bios. That way I could select that created entry to boot the UEFI thing (in your case grub-efi), while also having the option of booting from the disk itself to get to the bios booting OS.
    But unfortunately, every firmware is different, and I have heard of many machines that don't offer such functioanlity. This method would also require that I would have to potentially deal with two boot managers.  So I could hold (on my machine) F12 and select the windows disk, or let it boot the default UEFI entry and get grub (or gummiboot in my case).

  • Flashing the Bios and UEFI

    Hello,
    Should i flash my bios before switching to UEFI?
    My bios is out of date by about a year. However, it seems like 'flashing your
    bios' affects more then just your initial bootup and thus affects your system
    regardless if you use a bios or uefi boot.
    Second, the reason i'm interested in switching to UEFI is because i just ran
    dmidecode and it said my motherboard supports UEFI. So does that mean that acer
    (the vendor of my motherboard/laptop) has some instructions hardcoded somewhere on my
    motherboard that will run for a UEFI startup like a BIOS startup?
    I sound confused because i am confused...
    Thank you!
    Last edited by captaincurrie (2013-12-14 16:08:20)

    IMHO, the prevalent use of the term "BIOS" to refer to all motherboard firmware is a source of confusion.
    When IBM introduced its first PCs, the motherboard's firmware was called the Basic Input/Output System (BIOS). Clones used reverse-engineered BIOSes, and over the years the basic structure of the BIOS has not changed, although it's grown to support new hardware and features. Still, it's remained very much a basic system.
    Most PCs sold in the last two years, by contrast, use an entirely different type of firmware, the Extensible Firmware Interface (EFI) or its newer version, the Unified EFI (UEFI). The Wikipedia article sums it up:
    Wikipedia wrote:UEFI is meant to replace the Basic Input/Output System (BIOS) firmware interface, present in all IBM PC-compatible personal computers. In practice, most UEFI images provide legacy support for BIOS services.
    In other words, EFI/UEFI is not a BIOS. It does provide a BIOS compatibility layer (known as the Compatibility Support Module, or CSM), but this is to the EFI as WINE or dosemu is to Linux -- it provides an emulation layer that enables it to run software intended for another environment. CSM doesn't make EFI a BIOS any more than WINE makes Linux Windows. There is one notable exception: Some very early EFI implementations are built atop BIOS; the EFI runs as, essentially, a BIOS-level program. Such computers have both a BIOS and an EFI. Most recent EFIs, though, are just that, and the only sense in which they have a BIOS is that the EFI has a CSM.
    IMHO, much of the confusion over EFI is due to a misunderstanding of this relationship. People think that EFI is an advancement of BIOS technology and so they expect it to work like a BIOS, but this is fundamentally incorrect. EFI is very different from BIOS. To be sure, software developers try to make EFI seem familiar, as in a setup utility that's likely to be structured in the same way or boot loaders that look identical on both systems. Underneath the user interfaces, though, BIOS and EFI work very differently. (Many EFIs also sport flashier user interfaces than do most BIOSes, but this is just window dressing.)
    Moving on to the question, if your vendor offers an update to your EFI, it's probably a good idea to use it. One of the problems with EFI is that it's both big and buggy. This has led to a lot of system-specific problems, because System X has bugs A, B, and C, whereas System Y has bugs C, D, and E, and System Z has bugs A, C, F, and G. An update might fix one or two of those bugs. OTOH, any firmware update is at least a little bit risky -- a power failure at an inopportune time or some other problem with flashing the firmware can brick the computer. You might therefore want to research your specific computer to learn if it has significant EFI problems. As a general rule, though, I tend to tentatively favor upgrading the firmware before attempting to install Linux in EFI mode.
    The firmware (whether BIOS or EFI) is most important in the boot process. Assuming it boots correctly, upgrading the firmware is unlikely to affect the computer once it's running. (In the case of EFI, one possible exception is in how the efibootmgr tool works -- but that tool is used to control the boot process.)

  • [Solved] Unbootable USB with both BIOS and UEFI setup

    I'm installing Arch to a USB flash drive to be bootable across a wide-range of computers (like the Arch ISO for USB) - both with legacy BIOS and with UEFI support (32bit instead of 64bit for greatest compatibility). I've installed Arch successfully and everything with it works fine.
    To get the flash drive to bootup on legacy BIOS systems, I've installed Grub. This went without a hitch and this boots up on every legacy BIOS machine I've tried.
    However, I cannot for the life of me get UEFI working. I only have one UEFI-enabled machine to test on. I've tied settings up both Gummiboot and Grub for UEFI support and they both seem to get to the same place. I get their boot entries to show up in the UEFI's boot up menu, but it boots the UEFI installation already present on the system (another Arch installation). If I remove the UEFI entry for the Arch installation on the machine, it lists the flash drive in the boot-up menu but clicking on it tells me that there were no bootable mediums found. So I'm guessing there is a configuration error somewhere.
    The Arch ISO disk boots up successfully over UEFI on the machine without a hitch. SafeBoot is disabled on the UEFI machine machine. The UEFI machine has a working UEFI Arch installation by Grub2 which works fine - I setup the flash drive pretty much the same was as detailed below but it doesn't work.
    Here is my setup:
    Disk /dev/sda: 57.9 GiB, 62176362496 bytes, 121438208 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 7AF2949B-01DA-4A5D-96B5-C716601BF56B
    Device        Start       End   Sectors  Size Type
    /dev/sda1      2048  10487807  10485760    5G EFI System
    /dev/sda2  10487808  10489855      2048    1M BIOS boot
    /dev/sda3  10489856 121438174 110948319 52.9G Linux filesystem
    It is a GPT formatted flash drive, with an EFI partition, a BIOS Boot partition (for Grub) and finally a LUKS encrypted file system. (I have also tried the system without LUKS and I still get the same results as above).
    ESP partition with Gummiboot (/boot): (ls -LR /boot)
    EFI  grub  initramfs-linux-fallback.img  initramfs-linux.img  intel-ucode.img  loader  vmlinuz-linux
    ./EFI:
    Boot  gummiboot
    ./EFI/Boot:
    BOOTIA32.EFI BOOTX64.efi
    ./EFI/gummiboot:
    gummibootia32.efi
    ./loader:
    entries  loader.conf
    ./loader/entries:
    arch.conf
    (with BOOTIA32.EFI copied to BOOTX64.EFI so UEFI would recognize the flash drive.)
    ESP partition with Grub (/boot): (ls -LR /boot)
    EFI  grub  initramfs-linux-fallback.img  initramfs-linux.img  intel-ucode.img  loader  vmlinuz-linux
    ./EFI:
    Boot  gummiboot
    ./EFI/boot:
    bootx64.efi
    ./EFI/grub:
    grubia32.efi
    grub.efi
    I've tried copying both grub.efi to bootx64.efi and grubia32.efi to bootx64.efi. Both seem to be the same file.
    BLKID
    /dev/sda1: UUID="E3BA-7D68" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="d3619522-56c7-4a18-9997-3a9649809506"
    /dev/sda2: PARTLABEL="BIOS boot partition" PARTUUID="40132eb6-2994-44b8-a6c4-8380fbd45a98"
    /dev/sda3: UUID="a7392099-0853-4b03-a1e9-82e298eaab95" TYPE="crypto_LUKS" PARTLABEL="Linux filesystem" PARTUUID="300f4171-f1b5-4407-beee-060ae8fb8dee"
    /dev/mapper/Root: LABEL="Root" UUID="679ba330-de69-4805-ba12-59d479ea12fc" TYPE="ext4"
    fstab (using default mount options from fstab generator)
    # /etc/fstab: static file system information
    # <file system>    <dir>    <type>    <options>    <dump>    <pass>
    # /dev/mapper/Root LABEL=Root
    UUID=679ba330-de69-4805-ba12-59d479ea12fc    /             ext4          defaults,relatime    0 1
    # /dev/sda1
    UUID=E3BA-7D68          /boot         vfat          rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2
    Grub for legacy BIOS was setup with the commands:
    grub-install --target=i386-pc --recheck --debug /dev/sda
    grub-mkconfig -o /boot/grub/grub.cfg
    Grub configuration from /boot/grub/grub.cfg
    GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=a7392099-0853-4b03-a1e9-82e298eaab95:Root"
    I've tried both Gummiboot and Grub2 (not at the same time) alongside Grub for the legacy BIOS bootup. BIOS bootup works fine.
    UEFI configuration with Gummiboot:
    gummiboot --path=/boot install
    /boot/loader/loader.conf
    default  arch
    timeout  4
    /boot/loader/entries/arch.conf
    title    Arch Linux
    linux    /vmlinuz-linux
    initrd    /initramfs-linux.img
    options cryptdevice=PARTUUID=300f4171-f1b5-4407-beee-060ae8fb8dee:Root root=UUID=679ba330-de69-4805-ba12-59d479ea12fc ro
    UEFI Configuration with GRUB2:
    grub-install --target=i386-efi --efi-directory=/boot --bootloader-id=grub --recheck
    grub-mkconfig -o /boot/grub/grub.cfg
    mkdir /boot/EFI/boot
    cp /boot/EFI/grub/grubia32.efi  /boot/EFI/boot/bootx64.efi
    I have to copy grubia32.efi to bootx64.efi so my UEFI system detects the flash drive.
    I have done all of these steps on a BIOS machine, and a UEFI machine, both with the same results. The machine recognizes the flash drive in the bootup menu and lists it as an option to boot from, but it tells me no bootable device was found. I don't care which method I need to use to get the flash drive to bootup over UEFI, gummiboot or Grub, I'm just trying to get it to work.
    Last edited by awbs (2015-05-17 18:25:19)

    It sounds like you are on the right track.  I got it to work using a similar method.  Here is my setup: 16GB USB 2.0 Corsair Voyager.
    gdisk -l /dev/sdb
    GPT fdisk (gdisk) version 1.0.0
    Partition table scan:
    MBR: protective
    BSD: not present
    APM: not present
    GPT: present
    Found valid GPT with protective MBR; using GPT.
    Disk /dev/sdb: 31950720 sectors, 15.2 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 0C83EC1E-9109-4E1E-9EB8-01373E2339D4
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 31950686
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)
    Number Start (sector) End (sector) Size Code Name
    1 2048 206847 100.0 MiB EF02 BIOS boot partition
    2 206848 616447 200.0 MiB EF00 EFI System
    3 616448 31950686 14.9 GiB 8300 Linux filesystem
    As you can see, I made 3 partitions on a GPT labeled USB stick.  You need to format the EF00 and 8300 partitions:
    mkfs.vfat -F32 /dev/sdb2
    mke2fs -t ext4 -L isofiles /dev/sdb3
    "isofiles" is the label I used for the ext4 partition.  You can change this.  Now install Grub for EFI on the ESP partition:
    mount /dev/sdb2 /mnt
    mkdir -p /mnt/boot
    grub-install --target x86_64-efi --efi-directory /mnt --boot-directory /mnt/boot --removable
    Place your grub.cfg file in /mnt/EFI/BOOT.
    Install GRUB for legacy BIOS on the bios_boot partition:
    umount /mnt
    mount /dev/sdb3 /mnt
    mkdir -p /mnt/boot
    grub-install --no-floppy --target i386-pc --boot-directory /mnt/boot /dev/sdb
    Place your grub.cfg file in /mnt/boot/grub.  On some systems, it is /mnt/boot/grub2.
    Copy all of your ISO files, e.g., arch, gparted, clonzilla, etc, to the ext4 partition.  you will need the UUID of the ext4 partition:
    blkid /dev/sdb3
    This is because we are using a UUID search method to find the ISO's before loop mounting them. You can obtain the grub menu entries for various distros here.  I used the following grub.cfg to boot arch and gparted in EFI mode:
    set default="0"
    function load_video {
    insmod efi_gop
    insmod efi_uga
    insmod video_bochs
    insmod video_fb
    insmod video_cirrus
    insmod all_video
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    set timeout=10
    submenu 'GParted -->' {
    set default="1"
    set isofile='/gparted-live-0.22.0-1-amd64.iso'
    menuentry 'GParted -- default settings' --class gparted --class gnu-linux --class os {
    search --no-floppy --fs-uuid --set=root THIS_IS_YOUR_UUID
    loopback loop $isofile
    set root=loop
    linuxefi /live/vmlinuz boot=live username=user config components quiet noswap noeject ip= nosplash findiso=$isofile
    initrdefi /live/initrd.img
    submenu 'Arch Linux -->' {
    menuentry 'Install Arch Linux' --class arch --class gnu-linux --class os {
    set isofile='/archlinux-2015.04.01-dual.iso'
    search --no-floppy --fs-uuid --set=root YOUR_UUID
    loopback loop $isofile
    set root=loop
    linuxefi /arch/boot/x86_64/vmlinuz archisolabel=ARCH_201504 img_label=isofiles img_loop=$isofile earlymodules=loop
    initrdefi /arch/boot/x86_64/archiso.img
    The legacy grub.cfg file is identical to the above, except that you use "linux" and "initrd" instead of "linuxefi" and "intrdefi".   Note that unfortunately you have to use two grub.cfg file, one for UEFI and the other for legacy placed in the locations described above.  However, they are very similar.
    When you boot the machine, if it is an ASUS board, let's assume, press F8 during POST.  You should see "Corsair - UEFI" and "Corsair".  They should both work.  Good Luck.

  • Good afternoon! I purchased a few months the basics of adobe photoshop package with the CC and Lightroom, but has expired, and was made the annual package. What can I do to solve this problem. I have two weddings being edited and now I can not finish the

    Good afternoon! I purchased a few months the basics of adobe photoshop package with the CC and Lightroom, but has expired, and was made the annual package. What can I do to solve this problem. I have two weddings being edited and now I can not finish the work. I thank you.

    Renew the subscription?

  • [SOLVED] LVM GRUB2 no volume groups found?

    Hi.
    I have installed Arch with LVM on a macbook pro. Since I installed /boot inside the LVM, I had to install GRUB2-efi also (the mac uses EFI).
    When I boot, I am able to get to the GRUB2 menu but when I try to start Arch, I get this error:
    No volume groups found
    ERROR: Unable to determine major/minor number of root device '(Arch_Linux-boot)'
    And right before the GRUB2 menu appears, an error message flashes so quickly I can only make out the word "failed".
    Arch is in an extended partition (/dev/sda3) with root, boot, var, home and swap on their own separate partitions.
    In /etc/default/grub (NOT on the CD), I added "lvm2" to GRUB_PRELOAD_MODULES and added "root=(Arch_Linux-boot)" to GRUB_CMDLINE_LINUX. Arch_Linux is the volume group and boot is the boot partition. During installation, I set USELVM="yes" (in the first configuration file in the configure system phase) and added an lvm2 hook in the mkinitcpio configuration file (during installation also).
    Also, when I try to boot OS X (using GRUB2), it seems to boot (spits out some console stuff) then gets stuck. By holding Option at startup and selecting the OS X partition, I can boot into OS X. The same doesn't work with Arch.
    My guess is that it's not finding the volume group (Arch_Linux) because I got the configuration file wrong or something.
    So is
    #Settings I added in /etc/default/grub
    GRUB_CMDLINE_LINUX="root=(Arch_Linux-boot)"
    GRUB_PRELOAD_MODULES="lvm2"
    valid? Or is something wrong here?
    Last edited by Splooshie123 (2012-04-03 02:35:54)

    Lennie wrote:In your other thread you used the words 'extended partition' and 'LVM' as if they mean the same thing, but they are actually two different thing. So which of them did you use? If you just installed Arch on logical partitions, then you don't need to do any special configuration because of that. Linux doesn't care if it's installed on primary or logical partition(s).
    Sorry if I wasn't clear. I installed Arch in several logical partitions within an extended partition.
    I believe I'm close to figuring out what's wrong. Apparently I am able to access the logical partitions by using the fallback image.
    Because the fallback image works but the other one doesn't, it might be the hooks.
    I read that the fallback image doesn't load the autodetect hook. I also know that putting a hook before autodetect has the effect of sort of "exempting" the hook from autodetect.
    I recall getting a 'no controller found' error when booting the image with autodetect so I'm guessing it might be the sata hook.
    I'll try regenerating the images with sata before the autodetect hook.
    PS: If my post looks a bit "unformatted" with no spaces between paragraphs, its because I'm typing this from lynx, a text-based web browser, and I'm not that familiar with it yet.

  • Split subscribtion package and allocate to differe...

    Hi everyone,
    I'm considering buying subscription packages for members of my team. Would it be possible with skype manager to split the number of minutes and allocate them to several skype accounts?
    E.g. I buy a 120 minutes package for outgoing calls to Tanzania. Would it be possible for me to split the package and to allocate 60 minutes to 2 different skype accounts? Or, must I buy a 60 minutes package for each of them?
    Thanks a lot,
    Louis

    As you found out...  you can not have multiple build functions.   I always though multiple build functions == multiple PKGBUILDs. 
    Can you build both server and client at once?

  • [Solved] Split packages getting updated multiple times?

    Assumably since AUR v3.0.0, when updating split packages, all these packages are listed for an upgrade, even though updating just one of them would take care of the rest.
    I created the following minimal PKGBUILD for "building" a previous version of linux-ck as a test: http://pastebin.com/vBykd5ta
    Both packer and yaourt are doing this:
    └┌(%:~/Desktop)┌- yaourt -Su --aur
    Foreign packages: / 61 / 61
    ==> Software upgrade (new version) :
    aur/linux-ck         3.14.7-1 -> 3.14.8-1
    aur/linux-ck-headers 3.14.7-1 -> 3.14.8-1
    └┌(%:~/Desktop)┌- packer -Su
    :: Starting full system upgrade...
    there is nothing to do
    :: Synchronizing aur database...
    aur                                        61  61 [----------------------------------------------------------]100%
    :: Starting full aur upgrade...
    Aur Targets    (2): linux-ck linux-ck-headers
    Is this a problem with the AUR helpers or the AUR in general?
    Last edited by algorythm (2014-06-17 10:17:14)

    Well, I was reported to one of my packages about this behavior, and I actually already made the bug reports.
    Other tools than Yaourt might have some "mid-checks" indeed. At least aura-git kind of worked around this by saying "linux-ck-headers is not an AUR package" and excluded it from the updates. It was the only one of which I didn't file a bug.
    E: You were right. Turns out only Yaourt and packer (hiatus) do this. Aurget and pacaur work just fine.
    Last edited by algorythm (2014-06-17 11:44:50)

  • [Solved] List AUR packages installed and only AUR packages.

    Here's a good one.  Thought this would be easy but thought it over and then looked around a bit and haven't found anything.  There's might just be an easy way to do this that will make me *bonk* my head in the morning but I haven't found it yet.  I'm looking to be able to just list the packages I have installed from AUR and not any that I have gotten from the official repos.  I've checked out some utilities in AUR (like AURcheck) but as far as I can tell they just look for AUR updates.  Anyone know of a way to do this?
    Last edited by Gen2ly (2009-10-30 14:32:22)

    I just got to reinstalling and this was a lifesaver - it worked great.  Thank for the help, brisbin, ghost, Allan...
    @Ghost, I would have used packup but I had a couple downgraded packages and I wanted to be able to troubleshoot it.
    The tip about the grep -v doing 'shortnameplus' was a good tip, Profjim.  I hadn't read this last post before and during the reinstall I was a bit surprised nvidia wasn't installed so... all is good now.
    I created a script to be able to create the backup list and restores from it simliar to ghosts and am able to run it in cron job.  Probably not a big deal, but... phhht.  Here it is for anyone that can use it:
    #!/bin/bash
    # pacbac - Create and restore from list all installed packages
    # Package list locations (official and local)
    pkglsoff=/opt/backup/pc-emach/arch-pkglist-official
    pkglsloc=/opt/backup/pc-emach/arch-pkglist-local
    # Exclude packages
    excldoff=()
    excldloc=()
    # Use filename as program name
    prog=${0##*/}
    # Text color variables
    bldblu='\e[1;34m' # blue
    bldred='\e[1;31m' # red
    bldwht='\e[1;37m' # white
    txtcyn='\e[0;36m' # cyan
    txtund=$(tput sgr 0 1) # underline
    txtrst='\e[0m' # text reset
    info=${bldwht}*${txtrst}
    pass=${bldblu}*${txtrst}
    warn=${bldred}!${txtrst}
    # If restoring, be sure yaourt is installed
    if [[ "$1" == 'r' ]] && [[ -z $(pacman -Qs yaourt) ]]; then
    echo ""
    echo -e "$warn $prog requires ${txtund}}Yaourt${txtrst} to be installed."
    echo -e " ${txtcyn}http://wiki.archlinux.org/index.php/Yaourt${txtrst}"
    echo ""
    exit
    fi
    case $1 in
    b ) # Create list of official repository packages (core, extra, community)
    echo -e "$info Creating list of official (core/extra/community packages) packages installed."
    # Create list, remove local, base
    pacman -Qqe | grep -vx "$(pacman -Qqg base)" | grep -vx "$(pacman -Qqm)" > "$pkglsoff"
    # Create list of local packages (includes the AUR)
    echo -e "$info Creating list of local (includes AUR) packages installed."
    pacman -Qqm > "$pkglsloc"
    echo -e "$pass Official package list saved to ${txtund}"$pkglsoff"${txtrst}"
    echo -e "$pass Local package list saved to ${txtund}"$pkglsloc"${txtrst}" ;;
    r ) # Update repository database, then restore packages from list
    echo -e "$info Installing packages from lists"
    sudo pacman -Sy
    # use -f to overwrite conflicting files
    sudo pacman -S --needed $(cat "$pkglsoff")
    # Yaourt doesn't have --needed check
    yaourt -S $(cat "$pkglsloc" | grep -vx "$(pacman -Qqm)") ;;
    * ) echo -e " pacbac b - build installed packages list. (dir:${txtund}"${pkglsoff%/*}"${txtrst})"
    echo -e " pacbac r - restore installed packages from package list." ;;
    esac
    Last edited by Gen2ly (2009-10-31 14:16:55)

  • [solved] How to install with old BIOS + 60GB SSD + 3TB HDD + fulldisk?

    I'm new to archlinux and this will be my first install. I use Debian and Kubuntu, but I'm no expert. I've read many archlinux docs (and they *are good*, congatulations), but I couldn't find specifics to what I want to do.
    My system is a desktop box (6GB RAM) that I use for video editing, compiling, browsing and many other unrelated things. What I plan to do is to organize things in the following way:
    SSD (60GB): first disk (for a fast boot up time) with only one partition, ext4
    / and everything, except for /home and /var
    HDD (3TB): second disk with only one partition, ext4
    Mounted as /something
    Symlinks (or bind mounts) to /var and /home
    My reason to use only one partition for / and one for /home and /var is to not have to worry about balancing partition sizes among system files, user files, web server files, etc.
    Could you please comment on the following:
    1) It seems that I can't use a a regular partition larger than 2.2TB, so I will have to use GPT. Do I need (or is it recommended) to partition both disks with GPT? Does it work with non EFI BIOSes? Can I use a regular GRUB2 install?
    2) What is the recommended way of installing arch using this set up? Do I install everything under the SSD and later move /var and /home to the HDD?
    3) What is the best way to have the complete final root file system: using symlinks, bind mounts, or any other technique?
    4) I deal with huge files and sometimes huge pictures and huge memory needs (Blender 3D, GIMP and Inkscape with huge files, radiosity rendering, etc). I've read that a swap partition is not needed nowadays. So I was thinking of creating just a swap file inside the HDD partition. Would it degrade too much the HDD performance or fragmentation? Could it be used for hibernation?
    5) Can I use the regular arch install procedure to accomplish all that or do i have to prepare anything before/after?
    6) Any other tips?
    Thanks
    Last edited by plenus (2012-04-21 02:49:47)

    plenus wrote:1) It seems that I can't use a a regular partition larger than 2.2TB, so I will have to use GPT. Do I need (or is it recommended) to partition both disks with GPT? Does it work with non EFI BIOSes? Can I use a regular GRUB2 install?
    According to wikipedia, linux has no problem booting from GPT on BIOS, and accordind to archwiki, GRUB2 provides the ability to boot from GPT in both BIOS and UEFI based systems.. I dont think that formating both disk with GPT is necessary, but I am not sure.
    plenus wrote:2) What is the recommended way of installing arch using this set up? Do I install everything under the SSD and later move /var and /home to the HDD?
    I would install with this approach.
    plenus wrote:3) What is the best way to have the complete final root file system: using symlinks, bind mounts, or any other technique?
    In this setup (/var and /home on one big partition), I would use symlinks.
    plenus wrote:4) I deal with huge files and sometimes huge pictures and huge memory needs (Blender 3D, GIMP and Inkscape with huge files, radiosity rendering, etc). I've read that a swap partition is not needed nowadays. So I was thinking of creating just a swap file inside the HDD partition. Would it degrade too much the HDD performance or fragmentation? Could it be used for hibernation?
    This says Google about swap file/partition performance. You could use hibernation. I allways go with swap partition, but nowadays it is just proforma, because I have enough memory to never use swap.
    plenus wrote:5) Can I use the regular arch install procedure to accomplish all that or do i have to prepare anything before/after?
    I think (but I'm not sure, though) parted is on installation media.

  • Need help with how to reset bios and admin password to reformat hard drive in 8440p elitebook.......

    need help with how to reset bios and admin password to reformat hard drive in 8440p elitebook? removal of cmos, resetting laptop, using cccleaner, windows password recovery and hiren's was noneffective, any help is appreciated. thanks

    Hi,
    As your notebook is a business class machine, security is more stringent - the password is stored in non-volatile memory and there are no 'backdoor' passwords.  Your best option would be to contact HP regarding this.
    Regards,
    DP-K
    ****Click the White thumb to say thanks****
    ****Please mark Accept As Solution if it solves your problem****
    ****I don't work for HP****
    Microsoft MVP - Windows Experience

  • Experiment and conclusion on notorious Bios and turbo boost related issue.

    Hi everyone,
    Like everyone here, I suffered from the turbo boost issue and I decided to find a practical way to solve this problem,so .I conducted some experiments trying to find out the relationship between power strategy, graphic type, booting power source and the CPU frequency.. Here are my results:
    Variable: Power strategy for AC/BAT: Max/Balanced, Max/Max(didn't try for balanced AC power strategy)
                   Graphic type: Integrated, discrete and Nvidia Optimus
                   power source when the machine booted(BAT,AC)
    Testing model: W520 42762QU i7-2720QM Quodro2000M 16G Crucial M4 128G, 500G HDD, BIOS1.30
    Testing programs: Intel Turbo Boost programs and CPU-Z
    power   strategy
    Graphics
    booting:AC
    AC-BAT
    AC-BAT-AC
    Booting:   BAT
    BAT-AC
    BAT-AC-BAT
    Max/Balance
    Discrete
    Turbo
    1.5Ghz
    Turbo
    1.5Ghz
    800Mhz
    1.5Ghz
    Max/Max
    Turbo
    1.5Ghz
    Turbo
    1.5Ghz
    800Mhz
    1.5Ghz
    Max/Balance
    Integrated
    Turbo
    Turbo
    Turbo
    Turbo
    800Mhz
    Turbo
    Max/Max
    Turbo
    Turbo
    Turbo
    Turbo
    800Mhz
    Turbo
    Max/Balance
    Optimus
    Turbo
    800-2400
    Turbo
    800-2400
    800Mhz
    800-2400
    Max/Max
    Turbo
    800-2400
    Turbo
    800-2400
    800Mhz
    800-2400
    Notice the '800-2400' state, it is a special situation when CPU-Z occationally gives me a speed of approx 2400 when I tried some head-load programs, which lasted about few seconds and the frequencies went back to 800 or 1500(in most cases, 800) when I closed the program.
    Conclution:
    1. power stratagy will not influnce the cpu frequency.
    2. booting power source and graphic types will do.
    3. I'm sick and tired of pluging and unpluggin my W520.
    4. I'm not a fan of Nvidia Optimus.
    5. Lenovo did a terrible job on this issue.
    6. I expect a same result for Bios 1.26
    Practical solutions:
    1.When you need a powerful W520, use Discrete graphic and plug your AC while booting.
    2, For a longer battery life, use integrated graphic, and if you wan't to plug the AC, please turn off your machine and boot again.(not rebooting!)
    Thank you for reading my post and sorry for my bad english
    Robin Liu

    SomeOtherGuy:
    Thanks very much for keeping us all informed about the "work in progress" on the BIOS and the Turbo-thing.  That is thoughtful of you and will (hopefully) cut down on the amount of carping and complaining about this issue.
    Michael
    W520 (4270 CTO), which replaced a W500 (4062-27U), which replaced a T42P, which replaced an A21P...

  • T540p battery drain in S4 state after Bios and Intel Wifi driver update

    Hey Guys,
    on my T540p, I configured the rapid start technology according to 
    http://download.intel.com/support/motherboards/desktop/sb/rapid_start_technology_user_guide.pdf
    Since I have performed a BIOS update to 2.14  and an update of the Intel Wifi driver to 17.0.5, I experience the problem of battery drain when the computer is in S4 sleep state, at a rate of approximately 0.125% per hour (on the 56Wh battery).
    This was not the case before these updates. There was no noticable power drain in S4 sleep state, even not over multiple days.
    I'm using Win7, I set all the WoL capabilities both in BIOS and in the Intel driver to disabled, according to 
    https://forums.lenovo.com/t5/IdeaPad-Y-U-V-Z-and-P-series/Battery-drain-when-powered-down-Y410P/td-p...
    External device USB charge settings are also fully disabled in BIOS and Power Manager. The problem does not occur when the system is fully shut down, but in S4 Sleep state, which should be a zero-power state too, as it was before the updates. In the details of the BIOS update it is stated " Fixed an issue where the computer might fail to enter sleep state". Could the power drain be a side effect of this fix? Or is it an issue with the (new) Wifi driver, as it was the case for the Y410P?
    How could this battery drain be avoided? Has anybody experienced the same issue?
    Best,
    Martin
    Solved!
    Go to Solution.

    mka1284,
    you could check out devices that might resume laptop from the sleep modes and disable them. Type in the following command in the cmd line window:
    powercfg -devicequery wake_armed
    Also the following command will show you report about power management. Open cmd window with administrative rights and type in:
    powercfg -energy.
    x220 | i5-2520m | Intel ssd 320 series | Gobi 2000 3G GPS | WiFi
    x220 | i5-2520m | hdd 320 | Intel msata ssd 310 series | 3G GPS | WiFi
    Do it well, worse becomes itself
    Русскоязычное Сообщество   English Community   Deutsche Community   Comunidad en Español

  • What typically is in a bios and drivers update?

    So I know computers need to update the bios and drivers, but no one has ever explained why. What is in bios or drivers that would need to be updated?

    Hi,
    All computer programs are not perfect therefore from time to time vendors have to release fixes. In many cases, a new fix may introduce new bug(s). Machine readable programs are BIOS, drivers, micro-codes are the same therefore from time to time vendors have to release new fix(es) to imrpove thrie products. Same as application programs and the Operating systems (Windows, Mac OS, DOS ...).
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • [SOLVED]Grub-Install can't Find Kernel and/or initrd, mkinitcpio Fails

    Hi all,
    I have recently installed Arch on my new build (with UEFI firmware). I successfully set up xorg, alsa/pulseaudio, xfce, etc... things were looking pretty good. Then, I tried to blacklist the pcspkr in order to silence the annoying beep every time I selected "Log Out" inside xfce. I executed
    mkinitcpio -p linux
    and was presented with the following errors:
    ==> Building image from preset: 'default'
    -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
    ==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux'
    ==> Building image from preset: 'fallback'
    -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
    ==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux`
    There were no such files anywhere on /boot. I tried doing
    find / -name vmlinuz-linux
    and nothing was found. I wasn't quite sure why that was happening, but I tried uninstalling/reinstall grub (grub-common and grub2-efi-x86_64). I installed grub to /boot using
    grub-install --directory=/usr/lib/grub/x86_64-efi --target=x86_64-efi --efi-directory=/boot --bootloader-id="Arch Linux" --boot-directory=/boot --recheck --debug
    and then generated /boot/grub/grub.cfg. I tried rebuilding the initramfs again but got the same error. I was tired and frustrated so I removed the old grub efi entry with
    efibootmgr -b 0 -B
    and then went to sleep.
    I didn't have the chance to turn the computer back on until tonight... I was then presented with a grub2 shell. Since I didn't know where the kernel/initrd were located I tried
    set root=(hd1,gpt1)
    chainloader +1
    but grub told me
    error: invalid EFI file path
    So that's about it. It appears that grub-mkconfig is having trouble locating the kernel/initrd so it doesn't make any entries, dropping me right into a shell. I've tried booting up with my installation USB and chrooting in and reinstalling grub again but nothing seems to work. So what I'd like to try to do is just boot up into my system and then modify add the grub boot entries entries I want... but I just can't figure out what's causing all these issues.
    Sorry if I mess up any terminology... still learning the ropes here. Thanks for any input.
    Last edited by cogeary (2012-09-17 05:35:51)

    DSpider wrote:
    ==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux'
    Probably because you have a separate boot partition (not just the 512 MB "UEFISYS" FAT32 partition), which you forgot to mount (in fstab).
    Post your /etc/fstab.
    Thank you for your reply!
    However, I do not have a separate boot partition apart from the "UEFISYS" partition. Here is my fstab:
    # UUID=3ec307aa-0ead-4d33-b292-42bbe783d6ee
    /dev/sda2 / ext4 rw,relatime,data=ordered 0 1
    # UUID=B192-6C57
    /dev/sda1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
    When I first looked at the fstab I saw that both of the entries repeated themselves. This was because I had even tried reformatting /boot so I had to generate a new fstab, but for some reason I used ">> /mnt/etc/fstab" rather than "> ..."
    So I executed
    genfstab /mnt > /mnt/etc/fstab
    and reinstalled grub, but still no difference... mkinitcpio fails and I reboot to a grub shell.
    Last edited by cogeary (2012-09-16 18:15:51)

Maybe you are looking for