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

News and discussion about development of the Debian OS itself

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

Postby confuseling » 2015-01-11 16:20

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
confuseling
 
Posts: 2144
Joined: 2009-10-21 01:03

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

Postby reinob » 2015-01-11 19:20

confuseling wrote:https://bugs.debian.org/cgi-bin/bugreport.cgi?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..
reinob
 
Posts: 540
Joined: 2014-06-30 11:42

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

Postby Head_on_a_Stick » 2015-01-15 19:29

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...
"Le mieux est l'ennemi du bien." — Voltaire, Dictionnaire Philosophique.
User avatar
Head_on_a_Stick
 
Posts: 7541
Joined: 2014-06-01 17:46
Location: /dev/chair

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

Postby Eireannach » 2015-01-15 19:46

Head_on_a_Stick wrote:Just installed GRUB for the first time in my Debian system...

Oh ? What were you using previously ?
Eireannach
 
Posts: 25
Joined: 2014-04-26 11:52
Location: Ireland

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

Postby Head_on_a_Stick » 2015-01-15 20:23

Eireannach wrote:Oh ? What were you using previously ?

I use gummiboot -- it is fantastic!
"Le mieux est l'ennemi du bien." — Voltaire, Dictionnaire Philosophique.
User avatar
Head_on_a_Stick
 
Posts: 7541
Joined: 2014-06-01 17:46
Location: /dev/chair

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

Postby slackguy » 2015-08-31 16:58

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

Postby slackguy » 2015-08-31 16:59

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

Postby slackguy » 2015-08-31 17:03

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?
User avatar
slackguy
 
Posts: 91
Joined: 2014-11-29 03:22


Return to Debian Development

Who is online

Users browsing this forum: No registered users and 2 guests

fashionable