You are not logged in.
Hi everyone,
I have been playing (or fighting better) with Arch to try to do what I will expose to you now:
I have an old eeepc, which had Arch installed. The eeepc has sda 8Gb and sdb 32Gb. The last installation I did, I just installed all the OS on sdb, and used sda just as a removable media.
Now, I reinstalled it, but trying the following:
sda1 /home
sdb1 /swap
sdb2 /boot *bootable
sdb3 /
I changed on BIOS the boot priority of hard drives (so the sdb boots first). But when I try to enter to Arch through GRUB, it says something like that (I doesn't have it in English): error: you must load the kernel first.
So, the thing is: Is it possible to do what I want to do? Do I need to do something not explained on arch wiki?
Thanks for you attention.
David
Last edited by Agravain (2012-10-04 15:35:29)
Offline
post up your GRUB configuration.
Offline
I'm trying to copy it to my bootable arch usb but I can't. Is it possible or I need 2 usbs (1 for booting and 1 to copy in)? I'm feeling so stupid...
Offline
If your bootable usb was created by dd'ing an iso, then no, you will not be able to save anything to it. If you're bootable usb has an installed arch system on it, then you should be able to copy to it just like another other usb. Given the problem, I'm assuming you have the former.
But you shouldn't need to copy it to any usb. Boot into your live media (the bootable usb), mount sdb2, then post the grub config from sdb2 to the forums or to pastebin.
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
Well, it is created with LinuxLive usb creator, so it is write protected anyway.
The one I have is created with the grub-mkconfig command. If I must copy it manually, it can take ages...
Anyway, I copied it to another usb
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd1,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3 94cbc613-4bb8-4dca-96e3-8a9ab1ba79ae
else
search --no-floppy --fs-uuid --set=root 94cbc613-4bb8-4dca-96e3-8a9ab1ba79ae
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=ca_ES
insmod gettext
fi
terminal_input console
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch GNU/Linux, amb el Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-94cbc613-4bb8-4dca-96e3-8a9ab1ba79ae' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 6e01a560-bc93-4b5f-b4eb-bd766bc4ed69
else
search --no-floppy --fs-uuid --set=root 6e01a560-bc93-4b5f-b4eb-bd766bc4ed69
fi
echo 'S'està carregant el Linux core repo kernel ...'
linux /vmlinuz-linux root=UUID=94cbc613-4bb8-4dca-96e3-8a9ab1ba79ae ro quiet
echo 'S'està carregant la ramdisk inicial ...'
initrd /initramfs-linux.img
}
menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-94cbc613-4bb8-4dca-96e3-8a9ab1ba79ae' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 6e01a560-bc93-4b5f-b4eb-bd766bc4ed69
else
search --no-floppy --fs-uuid --set=root 6e01a560-bc93-4b5f-b4eb-bd766bc4ed69
fi
echo 'S'està carregant el Linux core repo kernel ...'
linux /vmlinuz-linux root=UUID=94cbc613-4bb8-4dca-96e3-8a9ab1ba79ae ro quiet
echo 'S'està carregant la ramdisk inicial ...'
initrd /initramfs-linux-fallback.img
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
When trying to get it working, I tried a simpler config like that but didn't work.
menuentry "Arch Linux" {
set root=(hd1,2)
linux /vmlinuz-linux root=/dev/sdb3 ro
initrd /initramfs-linux.img
Thanks for the answers.
David
Offline
I don't use grub2, but shouldn't that be "(hd1,1)" to point to your boot parition?
The partition numbers start at zero while the device node numbering starts at one, so sdb2 is (hd1,1).
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
There's nothing wrong with putting grub on both drives. Then you can boot from whichever painful configuration you end up in. If nothing else, you can chainload into the other drive, but you should be able to use the out-of-order drive to boot the kernel on the second drive. Just as long as you call everything on the second drive, to boot from the second drive.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Offline
The title is a bit misleading. I thought it was about a RAID, LVM or Btrfs multiple volume configuration. From a 2012 Arch Linux "live" installation medium:
- mount the root partition to /mnt.
- mount the separate boot partition (if you have one) to /mnt/boot.
- run "arch-chroot /mnt" and install GRUB according to the instructions from the Beginners' Guide: https://wiki.archlinux.org/index.php/Be … bootloader
Note: Please do not use /dev/sdaX in the below command. You may use /dev/sdb if you installed Arch there, as long as you set that drive to boot first from the BIOS settings.
I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).
Offline
I don't use grub2, but shouldn't that be "(hd1,1)" to point to your boot parition?
The partition numbers start at zero while the device node numbering starts at one, so sdb2 is (hd1,1).
Hmmm, I think that it is as I say. If device node starts at 1, 1=1, 2=2, etc. (sda3 = hd0,3 // sdb1 = hd1,1). If I'm wrong, please let me know it.
The title is a bit misleading. I thought it was about a RAID, LVM or Btrfs multiple volume configuration.
I'm sorry if it is. Give me a better title and I will change it.
From a 2012 Arch Linux "live" installation medium:
- mount the root partition to /mnt.
- mount the separate boot partition (if you have one) to /mnt/boot.
- run "arch-chroot /mnt" and install GRUB according to the instructions from the Beginners' Guide: https://wiki.archlinux.org/index.php/Be … bootloader
I have followed the guide step by step.
There's nothing wrong with putting grub on both drives. Then you can boot from whichever painful configuration you end up in. If nothing else, you can chainload into the other drive, but you should be able to use the out-of-order drive to boot the kernel on the second drive. Just as long as you call everything on the second drive, to boot from the second drive.
I have installed GRUB only on /boot (sdb2). Should I install it on sda too?
Thanks for your answers and time.
David
Offline
Well, a better title would be "Installing Arch on /dev/sdb".
I have installed GRUB only on /boot (sdb2). Should I install it on sda too?
Which part of "Please do not use /dev/sdaX in the below command. You may use /dev/sdb if you installed Arch there, as long as you set that drive to boot first from the BIOS settings" did you not understand?
Mount the root partition FIRST, mount the boot partition SECOND (if you have one), chroot, and run:
# grub-install --target=i386-pc --recheck /dev/sdb
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
# grub-mkconfig -o /boot/grub/grub.cfg
If it still doesn't boot, then you need to go into the BIOS, set the sdb drive (by brand or model name, whatever it's called) to boot first, and exit by saving the changes (usually F10).
Alternatively, use Syslinux.
Last edited by DSpider (2012-10-04 11:04:54)
I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).
Offline
Which part of "Please do not use /dev/sdaX in the below command. You may use /dev/sdb if you installed Arch there, as long as you set that drive to boot first from the BIOS settings" did you not understand?
Sounds quite aggressive... But as I said, I installed grub on sdb, not sda. And as I said too in the 1st post, I changed the boot priority on bios...
Thanks for the answer
PS: Title changed.
Offline
Doh! Instead of /dev/sdaX, in your case would be /dev/sdbX. It means to install to the whole drive (i.e. to the MBR, as in "/dev/sdb"), not to a partition (as in "/dev/sdb2"). That's what the "X" symbolizes. A partition. This is basic stuff, man... Ok, you know what? This isn't going to work out. Here's some spoon feeding, after which I'm not posting here anymore. It's explained in the Beginners' Guide pretty well, I think. If you can't follow instructions, you're either not very literate (in English) or just plain trolling. So here it goes; pop in the latest Arch CD/USB stick/whatever and run:
# mount /dev/sdb3 /mnt #Your root partition.
# mount /dev/sdb2 /mnt/boot #Your separate boot partition.
# arch-chroot /mnt
# grub-install --target=i386-pc --recheck /dev/sdb
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
# grub-mkconfig -o /boot/grub/grub.cfg
Done. GRUB is now installed. Unless you partitioned it as GPT (for which you'd need an additional 2 MiB partition), your Arch install should now boot just fine.
You're welcome. Don't forget to mark the topic as solved (by editing the first post).
I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).
Offline