Προς το περιεχόμενο

δυναμική custom grub εγγραφή


warlock9_0

Προτεινόμενες αναρτήσεις

στο debian τώρα με το xbmc έφτιαξα έναν καινούριο χρήστη και έβαλα στο runlevel 4 να ανοίγουν μόνο τα services που χρειάζομαι και με autologin αυτός ο χρήστης και το xbmc

 

θέλω από το grub να έχω μια εγγραφή xbmc

το έκανα με το χέρι

 

αντέγραψα την εγγραφή που ανοίγω το debian και της άλλαξα το όνομα και το runlevel που θα ξεκινάει

το /etc/grub.d/40_custom είναι έτσι

#!/bin/sh
exec tail -n +3 $0
# 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.

menuentry 'XBMC media center' --class debian --class gnu-linux --class gnu --class os {
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd3,msdos3)'
        search --no-floppy --fs-uuid --set=root 66248b4e-4ced-41fe-89a7-9207e3fb1a23
        echo    'Loading Linux 3.2.0-4-amd64 ...'
        linux   /boot/vmlinuz-3.2.0-4-amd64 root=UUID=66248b4e-4ced-41fe-89a7-9207e3fb1a23 ro  quiet elevator=deadline 4
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.2.0-4-amd64
}

όταν θα γίνει kernel update δε θα μπαίνει όμως αυτό γιατί τα έχει όλα καρφωτά

 

υπάρχει κανένας τρόπος να τα παίρνει αυτόματα ή οι custom εγγραφές είναι όλες με το χέρι?

 

αυτό που σκέφτηκα είναι να φτιάξω ένα script που θα τρέχει στο shutdown και θα γράφει αυτό το αρχείο κάθε φορά αλλά αν υπάρχει άλλος τρόπος μέσω grub ξέρω γω θα τον προτιμούσα

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στην ουσια προσθετεις ενα νεο μενου στο αρχικο του grub σωστα?

 

Γιατι δεν σκας ενα grub-mkconfig -o /boot/grub/grub.cfg να δεις τι θα κανει ?Γιατι στην ουσια κατι τετοιο εκτελει μετα το kernel update.

 

Αν στο περασει το εξτρα μενου σου κανονικα..τοτε δεν αγχωνεσαι στα επομενα kernel updates :)

 

 

EDIT : Απο το wiki του arch παραθετω.

 

"The best way to add other entries is editing the /etc/grub.d/40_custom or /boot/grub/custom.cfg . The entries in this file will be automatically added when running grub-mkconfig."

 

Καταλαβες που θελω να δωσεις σημασια ε? :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

αυτο εχω κανει

αλλα στο 40_custom γραφω καρφωτα το ονομα του kernel που εχει και την εκδοση

 

αυτο λεω αν μπορει να γινει αυτοματα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Aυτο που προτεινε ο τζιμης θα προτεινα και γω..αλλα σκεψου και το αλλο...

 

Αν ο πυρηνας που θες στο custom σου , δεν σβηνεται με την ελευση του νεου..δεν σε απασχολει ιδιαιτερα.

Τα αρχεια ( vmlinuz , initrd ) θα υπαρχουν στην θεση τους και το grub θα "στηνεται" χωρις θεματα...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ε το έκανα init script και τελείωσα

#! /bin/sh
### BEGIN INIT INFO
# Provides:          xbmcgrubd
# Required-Start:    
# Required-Stop:     
# Default-Start:     0 6
# Default-Stop:      
# Short-Description: XBMC custom grub entries
# Description:       
### END INIT INFO

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="XBMC custom grub entries"
NAME=xbmcgrubd
DAEMON=/usr/sbin/$NAME
DAEMON_ARGS=
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

#
# Function that starts the daemon/service
#
do_start()
{
echo '#!/bin/sh

exec tail -n +3 $0
# 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.' > /etc/grub.d/40_custom

for kernel in `ls /boot/initrd.img-*`; do

k=`expr substr $kernel 18 20`
echo "Adding menuentry 'XBMC media center ($k)'"
echo "menuentry 'XBMC media center ($k)' --class debian --class gnu-linux --class gnu --class os {
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd3,msdos3)'
        search --no-floppy --fs-uuid --set=root 66248b4e-4ced-41fe-89a7-9207e3fb1a23
        echo    'Loading Linux $k ...'
        linux   /boot/vmlinuz-$k root=UUID=66248b4e-4ced-41fe-89a7-9207e3fb1a23 ro  quiet elevator=deadline 4
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-$k
}" >> /etc/grub.d/40_custom

done

}
case "$1" in
  start)
	do_start
	;;
  *)
	echo "Usage: $SCRIPTNAME {start}" >&2
	exit 3
	;;
esac

τρέχει στο reboot και στο shutdown και κάνει μια εγγραφή για κάθε πυρήνα που βρει

 

edit και είναι άχρηστο γιατί θέλει update grub μετα :(

napanagamithei θα το κάνω με το χέρι όποτε βλέπω kernel upgrade

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...