Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

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

User discussion about Debian Development, Debian Project News and Announcements. Not for support questions.
Post Reply
Message
Author
confuseling
Posts: 2121
Joined: 2009-10-21 01:03

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

#1 Post 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...
The Forum's search box is terrible. Use site specific search, e.g.
https://www.google.com/search?q=site%3A ... terms+here

reinob
Posts: 1189
Joined: 2014-06-30 11:42
Has thanked: 97 times
Been thanked: 47 times

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

#2 Post 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..

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 132 times

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

#3 Post 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...
deadbang

Eireannach
Posts: 25
Joined: 2014-04-26 11:52
Location: Ireland

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

#4 Post by Eireannach »

Head_on_a_Stick wrote:Just installed GRUB for the first time in my Debian system...
Oh ? What were you using previously ?

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 132 times

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

#5 Post by Head_on_a_Stick »

Eireannach wrote:Oh ? What were you using previously ?
I use gummiboot -- it is fantastic!
deadbang

User avatar
slackguy
Posts: 91
Joined: 2014-11-29 03:22

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

#6 Post 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

User avatar
slackguy
Posts: 91
Joined: 2014-11-29 03:22

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

#7 Post by slackguy »

little hack??? a little longer than i remember. but it was easy.

User avatar
slackguy
Posts: 91
Joined: 2014-11-29 03:22

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

#8 Post 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?

Post Reply