Page 1 of 1

GRUB2 / Jessie looks like it will show boot options for init

Posted: 2015-01-11 16:20
by confuseling
https://bugs.debian.org/cgi-bin/bugrepo ... bug=774939

This should help with some of the worries about upgrades, hopefully.

I'm not sure how it'll be implemented (haven't followed too closely), but I guess the upgrade to Jessie will pull in systemd, allowing GRUB to select that as init, and only if the admin installs sytemd-sysv will SysVinit actually be removed due to the package conflict.

Not sure what the plan is for GRUB 1, Lilo, etc. etc...

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-01-11 19:20
by reinob
confuseling wrote:https://bugs.debian.org/cgi-bin/bugrepo ... bug=774939

This should help with some of the worries about upgrades, hopefully.

I'm not sure how it'll be implemented (haven't followed too closely), but I guess the upgrade to Jessie will pull in systemd, allowing GRUB to select that as init, and only if the admin installs sytemd-sysv will SysVinit actually be removed due to the package conflict.

Not sure what the plan is for GRUB 1, Lilo, etc. etc...
I noticed this some days ago in sid. In /etc/grub.d/10_linux for each entry a number of "supported inits" (defined in SUPPORTED_INITS) is iterated and for those that are found an additional entry is generated.

I haven't tried it yet (I boot with systemd), but it feels nice to have a backup for those times where systemd causes or triggers a boot issue..

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-01-15 19:29
by Head_on_a_Stick
Just installed GRUB for the first time in my Debian system and the menu does indeed have boot options for SysVinit :)

Unfortunately, because my /boot is shared between Debian and Arch it also gives this option for Arch as well :(

Purging...

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-01-15 19:46
by Eireannach
Head_on_a_Stick wrote:Just installed GRUB for the first time in my Debian system...
Oh ? What were you using previously ?

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-01-15 20:23
by Head_on_a_Stick
Eireannach wrote:Oh ? What were you using previously ?
I use gummiboot -- it is fantastic!

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-08-31 16:58
by slackguy
grub 0.95 orig. gnu-alpha src still works for me (though i have an "old" bios) with just a ?little? hack

grub sets up CPU memory model and loads kernel, possibly copying kernel params to a well known space in memory. this may include copying an initrd to memory and including the pointer in the kernel bootstrap memory area. initrd is made by mk-initrd(1)

but you should never confuse that with "grub hot-edits only debian specific initrd and then copies this modified initrd to kernel memory". that's just a horrid thing even if grub could do it. anyway the initrd (and certain kernel debug features if allowed) allow one a way to get an (cmdline,gui) interface before all modules load (if that's even possible on some given hw: on some, absolutely NOT)

# -----------------------------------------

case $foo in

grub-0.95)

CFLAGS="`echo "$CFLAGS" | awk '{sub("-march[^ ]*","");print}'`"
CFLAGS="`echo "$CFLAGS" | awk '{sub("-O2","");print}'`"
CFLAGS="$CFLAGS -O0 -march=$lCPU"
CXXFLAGS="`echo "$CXXFLAGS" | awk '{sub("-march[^ ]*","");print}'`"
CXXFLAGS="`echo "$CXXFLAGS" | awk '{sub("-O2","");print}'`"
CXXFLAGS="$CXXFLAGS -O0 -march=$lCPU"
opt="`echo "$opt" | awk '{sub("--disable-dependency-tracking","");print}'`"

export CFLAGS CXXFLAGS

# optional allows remote img boot (note: need a complex img + tftp or bootp)
# a few popular see ./configure for list of (old) eth card compat
# opt="$opt --enable-rtl8139 --enable-ne --enable-eepro100" # isa port addr
opt="$opt --enable-rtl8139 --enable-eepro100"

cd "$dir/"
cd netboot/
[ ! -f main.c.old ] && {
cp main.c main.c.old
cat << EOF | ed || true
r main.c
59c
unsigned char *end_of_rfc1533 = NULL;
.
57c
struct bootpd_t bootp_data;
.
wq main.c
EOF
}
for x in osdep.h
do
[ ! -f $x.old ] && {
cp $x $x.old
cat << EOF | ed || true
r $x
/linux-asm-io.h/
.,.d
.a

/* not in orig (maybe not linux build) and doesnt work on newer gnu/linux */
#include <features.h>
#if defined(__linux__) && defined(__GLIBC__) && __GLIBC__ <= 1
/* #include "linux-asm-string.h" unsure why never used but present */
#include "linux-asm-io.h"
#warning "# non-glibc linux-old io.h #"
#endif
#if defined(__GLIBC__) && __GLIBC__ > 1
#warning "# gnu sys/io.h #"
#include <sys/io.h>
#endif

.
wq $x
EOF
}
done

[ ! -f timer.h.old ] && {
cp timer.h timer.h.old
cat << EOF | ed || true
r timer.h
57,62c
extern inline int timer2_running(void);
extern inline void waiton_timer2(unsigned int ticks);
.
52,55d
wq timer.h
EOF
}
[ ! -f timer.c.old ] && {
cp timer.c timer.c.old
cat << EOF | ed || true
r timer.c
21a
inline int timer2_running(void)
{
return ((inb(PPC_PORTB) & PPCB_T2OUT) == 0);
}
inline void waiton_timer2(unsigned int ticks)
{
load_timer2(ticks);
while ((inb(PPC_PORTB) & PPCB_T2OUT) == 0)
;
}

.
wq timer.c
EOF
}

cd ..
cd stage2/

# gcc no long has option -fwritable-strings
[ ! -f Makefile.in.old ] && {
cp Makefile.in Makefile.in.old
cat << EOF | ed || true
r Makefile.in
%s/fwritable-strings/DFOO_IGNORE_ME/
wq Makefile.in
EOF
}

[ ! -f builtins.c.old ] && {
cp builtins.c builtins.c.old
cat << EOF | ed || true
r builtins.c
3515c
int find_ascii_code (char *key)
.
3498c
int find_key_code (char *key)
.
1766c
void disk_read_blocklist_func (int sector, int offset, int length)
.
1750c
void disk_read_savesect_func (int sector, int offset, int length)
.
591c
int color_number (char *str)
.
144c
void disk_read_blocklist_func (int sector, int offset, int length)
.
wq builtins.c
EOF
}

# should not matter if static or global (unsued except here)
# however author had marked as global someone revised it to differ with .h decl
[ ! -f smp-imps.c.old ] && {
cp smp-imps.c smp-imps.c.old
cat << EOF | ed || true
r smp-imps.c
256,260c
int imps_enabled = 0;
int imps_num_cpus = 1;
unsigned imps_lapic_addr = ((unsigned) (&lapic_dummy)) - LAPIC_ID;
unsigned char imps_cpu_apic_map[IMPS_MAX_CPUS];
unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
.
252c
int imps_any_new_apics = 0;
.
wq smp-imps.c
EOF
}

[ ! -f char_io.c.old ] && {
cp char_io.c char_io.c.old
cat << EOF | ed || true
r char_io.c
1192c
int end_addr (void)
.
1181c
int start_addr (void)
.
wq char_io.c
EOF
}
# assume if present defines the usual, ie __int8_t
[ ! -f ufs2.h.old ] && {
cp ufs2.h ufs2.h.old
cat << EOF | ed || true
r ufs2.h
76a

#endif /* _BITS_TYPES_H */
.
66a
#endif /* STDINT_H */

#ifndef _BITS_TYPES_H

.
49a
#ifndef _STDINT_H

.
wq ufs2.h
EOF
}
[ ! -f fsys_ufs2.c.old ] && {
cp fsys_ufs2.c fsys_ufs2.c.old
cat << EOF | ed || true
r fsys_ufs2.c
58a
#if defined(__GLIBC__) && __GLIBC__ > 1
#include <stdint.h>
#include <stddef.h>
#include <sys/types.h>
#endif

.
wq fsys_ufs2.c
EOF
}

cd ..
cd lib/

[ ! -f device.c.old ] && {
cp device.c device.c.old
cat << EOF | ed || true
r device.c
501c
void show_warning (int no, const char *msg, ...)
.
496c
void show_error (int no, const char *msg)
.
wq device.c
EOF
}

cd ..
cd grub/

[ ! -f asmstub.c.old ] && {
cp asmstub.c asmstub.c.old
cat << EOF | ed || true
r asmstub.c
942c
int _llseek (uint filedes, ulong hi, ulong lo,
.
118c
volatile void doit ()
.
93c
int console_current_color = A_NORMAL;
.
wq asmstub.c
EOF
}

cd "$pwd/"

;;

esac

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-08-31 16:59
by slackguy
little hack??? a little longer than i remember. but it was easy.

Re: GRUB2 / Jessie looks like it will show boot options for

Posted: 2015-08-31 17:03
by slackguy
the above hack allows grub-0.95 (alpha source, gnu) to build without error give debian squeeze based build toolchain (gcc 4.4.5, glibc 2.11.2)

note how grub sugg. not building all network modules, only the ones needed/used because some may be buggy, and "have all known support" would bust the boot limit constraints of older BIOSes?