Closed r2evans closed 7 years ago
I am afraid I cannot help with setting the right console video driver. Perhaps the attached image of a ReaR recovery system boot screen could help you a bit to navigate blindly for now as a workaround: In particular: The preselected entry boots from the first local disk (i.e. that usually boots your installed system). The topmost entry boots the ReaR recovery system. When you hit many times the up arrow key it does not wrap around at the topmost entry - i.e. to boot the ReaR recovery system use many times the up arrow key and then the enter key.
The image of a ReaR recovery system boot screen is for traditional BIOS boot, for (U)EFI it is different.
That's helpful, thanks for the updated image. The no-wrap is helpful, too. Thanks!
(It is traditional BIOS, not (U)EFI, so I don't think that's the issue. The server is a Dell PowerEdge T630, for reference.)
ReaR uses syslinux/isolinux for creating its bootable recovery ISO image, cf. https://github.com/rear/rear/issues/764
When you set in /etc/rear/local.conf
KEEP_BUILD_DIR="yes"
then "rear mkbackup/mkrescue" will not remove its build directory of the form /tmp/rear.XXXXXXXXXXXXXXX (cf. "TMPDIR" in /usr/share/rear/conf/default.conf) so that you can after "rear mkbackup/mkrescue" inspect in detail what your ReaR recovery system contains.
For example on my test system I get two identical
/tmp/rear.MRb3SRJ7wUq9pKs/tmp/isofs/isolinux/isolinux.cfg /tmp/rear.MRb3SRJ7wUq9pKs/tmp/isolinux/isolinux.cfg
which contain things like
MENU label Recover f79 ... append initrd=initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,9600 console=tty0
The 'vga=normal' string appears in the ReaR sources in those files usr/share/rear/lib/bootloader-functions.sh usr/share/rear/output/PXE/default/810_create_pxelinux_cfg.sh usr/share/rear/output/USB/Linux-i386/300_create_extlinux.sh
There is no other 'vga=' string in the ReaR sources which means 'vga=normal' is set hardcoded and that has always worked (as far as I know).
The make_syslinux_config function in usr/share/rear/lib/bootloader-functions.sh is called in usr/share/rear/output/ISO/Linux-i386/300_create_isolinux.sh and usr/share/rear/output/OBDR/Linux-i386/300_create_isolinux.sh
When I run "rear -s mkbackup" on my test system I get in particular
# rear -s mkbackup ... Source output/ISO/Linux-i386/300_create_isolinux.sh
which indicates that it is the make_syslinux_config function in usr/share/rear/lib/bootloader-functions.sh that sets the 'vga=normal' kernel command line parameter when booting the ReaR recovery system.
You could play around with the kernel command line settings of the make_syslinux_config function in usr/share/rear/lib/bootloader-functions.sh to try out if something makes it work for you.
Alternatively and even better from my point of view, cf: https://github.com/rear/rear/issues/951#issuecomment-239836711
Because 'vga=normal' should work on any system (I never had an issue with an unintelligible ReaR recovery system boot screen) I assume there is something special on your particular hardware why it does not work with 'vga=normal'.
Therefore I would first of all recommend to try to find out if you could make your particular hardware behave "normal" so that it works with with traditional 'vga=normal'.
Only if that is not possible I would try to adapt ReaR especially for your particular hardware.
Correction:
With "OUTPUT=USB" it is usr/share/rear/output/USB/Linux-i386/300_create_extlinux.sh that is used.
On my test system I had "OUTPUT=ISO" and then the make_syslinux_config function in usr/share/rear/lib/bootloader-functions.sh is called in usr/share/rear/output/ISO/Linux-i386/300_create_isolinux.sh
@r2evans in your case - if you need to adapt ReaR - you must change usr/share/rear/output/USB/Linux-i386/300_create_extlinux.sh
I would start with updating syslinux and extlinux. The problem is most of the times an outdated version of the video driver within one of those packages
Verstuurd vanaf mijn iPhone
Op 22 dec. 2016 om 11:29 heeft Johannes Meixner notifications@github.com het volgende geschreven:
Correction:
With "OUTPUT=USB" it is usr/share/rear/output/USB/Linux-i386/300_create_extlinux.sh that is used.
On my test system I had "OUTPUT=ISO" and then the make_syslinux_config function in usr/share/rear/lib/bootloader-functions.sh is called in usr/share/rear/output/ISO/Linux-i386/300_create_isolinux.sh
@r2evans in your case - if you need to adapt ReaR - you must change usr/share/rear/output/USB/Linux-i386/300_create_extlinux.sh
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Many thanks for all of the suggestions. Because I'm dealing with a "commercial Dell server", I'm not surprised that "normal" is not quite right. When I speak with others with similar servers about similar issues, they all report using the high-end commercial configurations, including vSphere and others provided directly from Dell. Not a bad thing, mind you, but many non-standard BIOS extensions/configurations seem to mess with doing things "my way" (i.e., not through Dell).
The pointers and walk-through are very-much appreciated, I'll report back if I find something meaningful.
@r2evans you can forget all what I wrote above about the 'vga=normal' kernel command line parameter. That setting has nothing to do with the ReaR recovery system boot screen.
Reason:
The ReaR recovery system boot screen is not shown by the kernel of the ReaR recovery system.
Instead the ReaR recovery system boot screen is shown by the ReaR recovery system boot loader i.e. by syslinux/isolinux/extlinux.
While the ReaR recovery system boot screen is shown no kernel is loaded - loading the kernel happens after you selected a boot entry on the ReaR recovery system boot screen.
When the ReaR recovery system boot loader has loaded the kernel, then kernel command line parameters come into effect.
Only a blind guess:
Syslinux supports two user interface modules menu.c32 (text mode only) and vesamenu.c32 (graphical).
ReaR uses always menu.c32.
Perhaps in your particular case you need vesamenu.c32?
See http://www.syslinux.org/wiki/index.php?title=Menu
The simple menu system is based on a module located at com32/menu/vesamenu.c32 (graphical) or com32/menu/menu.c32 (text mode only). ... To use the menu system, simply make sure [vesa]menu.c32 is in the appropriate location for the boot medium (the same directory as the configuration file for SYSLINUX, EXTLINUX and ISOLINUX, and the same directory as pxelinux.0 for PXELINUX), and put the following options in the configuration file : DEFAULT menu.c32 PROMPT 0 Another alternative, using the UI directive: UI menu.c32
On my test system I have in my /tmp/rear.MRb3SRJ7wUq9pKs/tmp/isolinux/isolinux.cfg at the bottom
default menu.c32
and I have both syslinux user interface modules menu.c32 and vesamenu.c32 /tmp/rear.MRb3SRJ7wUq9pKs/tmp/isolinux/menu.c32 /tmp/rear.MRb3SRJ7wUq9pKs/tmp/isolinux/vesamenu.c32 so that it seems one can also use
default vesamenu.c32
I changed in usr/share/rear/lib/bootloader-functions.sh
echo "default menu.c32"
to
echo "default vesamenu.c32"
and for me it worked.
I get now the ReaR recovery system boot screen in graphical mode (with same textual content).
@r2evans because you use "OUTPUT=USB" you may try out if it works for you to change in /usr/share/rear/output/USB/Linux-i386/300_create_extlinux.sh
syslinux_write "default menu.c32"
to
syslinux_write "default vesamenu.c32"
I assume it somehow works because "no news is good news".
Generally a necessary assumption, though I haven't been able to test it (been on travel). It sounds fair, though, so coding it is fine for now. I'll come back when I'm able to confirm or not. Thanks, by the way, for the suggestions.
If it does not work you can reopen this issue.
If other/unrelated issues appear, please submit each of them as a new separated issue.
Relax-and-Recover (rear) Issue Template
Please fill in the following items before submitting a new issue (quick response is not guaranteed with free support):
rear version (/usr/sbin/rear -V):
(cloned today)
OS version (cat /etc/rear/os.conf or lsb_release -a):
rear configuration files (cat /etc/rear/site.conf or cat /etc/rear/local.conf):
(directly from the example)
Brief description of the issue
On boot, the screen is showing garbage (sometimes just a few lines), though they tend to be "responsive" to arrow keys. When I press enter, it boots to the local drive. Once booting has started, the local-drive linux console works fine, all boot messages work fine. This is a server, no GDM or X installed.
I have seen this before with linux when the console video driver was not correct. I don't know how to set it here. I have been able to successfully boot to other linux distro boot-USBs.
Work-around, if any
None found yet. I have only done
mkrescue
, nothing else; referencing the examples in "Booting from USB storage device" (04-scenarios.adoc
line 240), I don't know how many arrows I need to get to a certain menu. I've tried twice and ended up booting local or entering grub. I'd much prefer to not have to navigate the menus blindly.Thanks for all the work.