Condividi con noi i tuoi progetti personali

Messaggio7 dicembre 2008, 13:12 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25394

qualcosa non va, se guardi nei bootchart, sreadahead non parte nemmeno.
prova a lanciarlo da sistema avviato per vedere se ti da qualche errore
Avatar utente
pierluigi
Amministratore
 
Messaggi: 1150
Iscritto il: 26 agosto 2007, 15:39
Località: Mira (VE)
Top

Messaggio7 dicembre 2008, 13:47 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25400

pierluigi ha scritto:qualcosa non va, se guardi nei bootchart, sreadahead non parte nemmeno.
prova a lanciarlo da sistema avviato per vedere se ti da qualche errore

Provato, credo che non ci siano errori perchè non restituisce niente
Codice: Seleziona tutto
[marinz@stazione2 ~]$ /sbin/sreadahead
[marinz@stazione2 ~]$

faccio un pò di controlli
Edit: mi sembra tutto a posto, ho provato anche a spostare /sbin/sreadahead in quel file mettendolo subito all'inizio ma la situazione non cambia
Ultima modifica di marinz il 7 dicembre 2008, 14:18, modificato 1 volta in totale.
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio8 dicembre 2008, 12:53 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25442

secondo me il file generato non va bene, controlla che non sia vuoto.
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio8 dicembre 2008, 13:49 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25448

mi rivolgo a chi sta lavorando su questo progetto (qualche esperimento lo sto facendo anche io, per ora sto cercando di farmi un kernel bello snello ottimizzato per il mio portatile)..

ho trovato questa discussione qui che parla di esperimenti fatti sugli script di init per ridurre sensibilmente il tempo di boot.. li ho provati in passato e avevano alcuni problemini, quindi ho rimesso quelli originali.. però magari possono essere utili fonti di ispirazione
http://bbs.archlinux.org/viewtopic.php?id=56094
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio8 dicembre 2008, 14:21 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25449

adriano ha scritto:secondo me il file generato non va bene, controlla che non sia vuoto.

Grazie per il consiglio, avevo gia controllato
Codice: Seleziona tutto
[marinz@stazione2 ~]$ ls -l /etc/readahead.packed
-rw-r--r-- 1 root root 17856727  7 dic 13:16 /etc/readahead.packed
[marinz@stazione2 ~]$

Ora quando ho tempo proverò a ricompilare il kernel togliendo tutte le cose inutili
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio8 dicembre 2008, 19:11 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25472

Aggiornato topic iniziale
Inserito help per avvio automatico di sreadahead (comodo ;))
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio10 dicembre 2008, 17:04 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25579

Finalmente ho completato il tutto.
Ricompilato il kernel cercando di togliere tutto ciò che era superfluo (mi è stato molto d'aiuto la localizazione in ita), mi sono subito accorto del cambiamento.
Dopo varie ottimizzazioni sono arrivato a circa 21-22 secondi (misurando con un cronometro), contro i 35 circa precedenti.
Adesso ricompilo il tutto con la patch 2.27.8-1 e vediamo come va a finire ;)

Direi comunque che abbiamo ottenuto un buon risultato.
S4R0
Novello Arciere
 
Messaggi: 46
Iscritto il: 8 luglio 2008, 15:38
Top

Messaggio10 dicembre 2008, 17:51 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25586

S4R0 ha scritto:Finalmente ho completato il tutto.
Ricompilato il kernel cercando di togliere tutto ciò che era superfluo (mi è stato molto d'aiuto la localizazione in ita), mi sono subito accorto del cambiamento.
Dopo varie ottimizzazioni sono arrivato a circa 21-22 secondi (misurando con un cronometro), contro i 35 circa precedenti.
Adesso ricompilo il tutto con la patch 2.27.8-1 e vediamo come va a finire ;)

Direi comunque che abbiamo ottenuto un buon risultato.

con e senza sreadahead?

sarebbe interessante anche vedere i bootchart con sreadahead e senza
Avatar utente
pierluigi
Amministratore
 
Messaggi: 1150
Iscritto il: 26 agosto 2007, 15:39
Località: Mira (VE)
Top

Messaggio10 dicembre 2008, 18:18 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25589

il mio ultimo avvio: 12 secondi senza sreadahead e servizi
http://img338.imageshack.us/img338/1604 ... artqn3.png
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio10 dicembre 2008, 18:38 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25590

ma voi questi test li state facendo tutti quanti su dischi ssd? il sreadahead io non l'ho manco installato (visto che ho un HD 5400gm "standard" diciamo) e con un kernel "snellito" da tutta la roba inutile e reso monolitico (senza più moduli nè immagine init) faccio 37 secondi.. penso però sia in parte dovuto agli script di init..
Immagine

più che altro non mi spiego quei 12 secondi di inattività all'inizio

edit
ehm.. ho giochicchiato un po' con gli script di init, soprattutto con lo rc.sysinit, applicando alcuni dei suggerimenti dal post sul forum internazionale che avevo segnalato in precedenza (sopratutto ho applicato il metodo per il preloading di GDM e ho in pratica disabilitato il caricamento dei moduli, visto che mi sono fatto il kernel monolitico).. ebbene ecco i risultati
Immagine
- 19 secondi !!
e sembra funzionare tutto.. l'unica cosa che non va in effetti è che togliendo completamente il caricamento dei moduli, non viene caricato il setting del linguaggio dall'rc.conf (mi ritrovo il sistema in inglese in pratica).. ora mi documento su quale sia effettivamente il sistema che Arch usa per caricare questa impostazione e quindi i locales giusti..
Ultima modifica di Berseker il 10 dicembre 2008, 19:35, modificato 1 volta in totale.
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio10 dicembre 2008, 21:27 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25596

Berseker potresti postare il tuo rc.sysinit? non ho capito bene cosa intendi per disabilitare il caricamento dei moduli...comunque hai quasi 8 secondi di caricamento del kernel mi sembra eccessivo, dovresti provare a rimuovere la initramfs in caso tu non l'abbia fatto.
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio10 dicembre 2008, 22:05 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25598

#!/bin/bash
#
# /etc/rc.sysinit
#

. /etc/rc.conf
. /etc/rc.d/functions

echo " "
printhl "Arch Linuxn"
printhl "${C_H2}http://www.archlinux.org"
printhl "Copyright 2002-2007 Judd Vinet"
printhl "Copyright 2007-2008 Aaron Griffin"
printhl "Distributed under the GNU General Public License (GPL)"
printsep

# mount /proc, /sys and our RAM /dev
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys

# Create our default nodes that minilogd may need
/bin/mknod /dev/null c 1 3
/bin/mknod /dev/zero c 1 5
/bin/mknod /dev/console c 5 1

# More initial /dev setup that udev doesn't do
/bin/ln -snf /proc/self/fd /dev/fd
/bin/ln -snf /proc/self/fd/0 /dev/stdin
/bin/ln -snf /proc/self/fd/1 /dev/stdout
/bin/ln -snf /proc/self/fd/2 /dev/stderr
/bin/ln -snf /proc/kcore /dev/core
/bin/mkdir /dev/pts
/bin/mkdir /dev/shm

# start up our mini logger until syslog takes over
/sbin/minilogd

# anything more serious than KERN_WARNING goes to the console
# 'verbose' cmdline parameter enables more messages
if /bin/grep -q " verbose" /proc/cmdline; then
/bin/dmesg -n 8
else
/bin/dmesg -n 3
fi

# enable rtc access
/sbin/modprobe rtc-cmos >/dev/null 2>&1
RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null); RTC_MAJOR="${RTC_MAJOR%% *}"
if [ -n "$RTC_MAJOR" ]; then
/bin/mkdir /dev/misc/
/bin/mknod /dev/misc/rtc0 c $RTC_MAJOR 0
/bin/ln -s /dev/misc/rtc0 /dev/rtc
fi

HWCLOCK_PARAMS="--hctosys"
if [ "$HARDWARECLOCK" = "UTC" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
else
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
fi
if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
fi

# Set clock early to fix some bugs with filesystem checks
# Clock is set again later to match rc.conf
if [ -f /etc/localtime ]; then
/sbin/hwclock $HWCLOCK_PARAMS --noadjfile
fi

echo > /proc/sys/kernel/hotplug

if [ -x /sbin/udevadm -a -d /sys/block ]; then
# We have udev and /sys appears to be mounted, use UDev
stat_busy "Starting UDev Daemon"
/sbin/udevd --daemon
stat_done
else
# Static /dev, our last resort
status "Using static /dev filesystem" true
fi

# Load modules from the MODULES array defined in rc.conf
if ! [ "$load_modules" = "off" ]; then
if [ -f /proc/modules ]; then
stat_busy "Loading Modules"
for mod in "${MODULES[@]}"; do
if [ "$mod" = "${mod#!}" ]; then
/sbin/modprobe $mod
fi
done
stat_done
fi
if [ -d /proc/acpi ]; then
stat_busy "Loading standard ACPI modules"
ACPI_MODULES="ac battery button fan processor thermal"
k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')"
j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')"
#add disabled MODULES (!) to blacklist - much requested feature
for m in ${j}; do
[ "$m" != "${m#!}" ] && k="${k} ${m#!}"
done
# add disablemodules= from commandline to blacklist
k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')"
for n in ${ACPI_MODULES}; do
if ! echo ${k} | /bin/grep "<$n>" 2>&1 >/dev/null; then
/sbin/modprobe $n > /dev/null 2>&1
fi
done
stat_done
fi
fi

# run udev uevents
if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then
stat_busy "Loading UDev uevents"
udevstart="$(/bin/date +%s%0N)"
/sbin/udevadm trigger
/sbin/udevadm settle
stat_done
udevend="$(/bin/date +%s%0N)"
printhl " UDev uevent processing time: $((($udevend-$udevstart)/1000000))ms"
fi

# bring up the loopback interface
if [ -d /sys/class/net/lo ]; then
stat_busy "Bringing up loopback interface"
/sbin/ifconfig lo 127.0.0.1 up
if [ $? -ne 0 ]; then
stat_fail
else
stat_done
fi
fi

# If necessary, find md devices and manually assemble RAID arrays
if [ -f /etc/mdadm.conf -a "$(/bin/grep ^ARRAY /etc/mdadm.conf 2>/dev/null)" ]; then
# udev won't create these md nodes, so we do it ourselves
for dev in $(/bin/grep ^ARRAY /etc/mdadm.conf | /bin/awk '{print $2}'); do
path=$(echo $dev | /bin/sed 's|/[^/]*$||')
node=$(echo $dev | /bin/sed "s|^$path/||")
minor=$(echo $node | /bin/sed 's|^[^0-9]*||')
[ ! -e $path/$node ] && /bin/mknod $path/$node b 9 $minor
done
status "Activating RAID arrays" /sbin/mdadm --assemble --scan
fi

if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
if [ -x /sbin/lvm -a -d /sys/block ]; then
# Kernel 2.6.x, LVM2 groups
/sbin/modprobe -q dm-mod 2>/dev/null
stat_busy "Activating LVM2 groups"
/sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
/sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
if [ $? -ne 0 ]; then
stat_fail
else
stat_done
fi
fi
fi

# Set up non-root encrypted partition mappings
if [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then
/sbin/modprobe -q dm-mod 2>/dev/null
stat_busy "Unlocking encrypted volumes:"
csfailed=0
CS=/sbin/cryptsetup.static
do_crypt() {
if [ $# -ge 3 ]; then
cname="$1"
csrc="$2"
cpass="$3"
shift 3
copts="$*"
stat_append "${cname}.."
# For some fun reason, the parameter ordering varies for
# LUKS and non-LUKS devices. Joy.
if [ "${cpass}" = "SWAP" ]; then
# This is DANGEROUS! The only possible safety check
# is to not proceed in case we find a LUKS device
# This may cause dataloss if it is not used carefully
if $CS isLuks $csrc 2>/dev/null; then
false
else
$CS -d /dev/urandom $copts create $cname $csrc >/dev/null
if [ $? -eq 0 ]; then
stat_append "creating swapspace.."
/sbin/mkswap -L $cname /dev/mapper/$cname >/dev/null
fi
fi
elif [ "${cpass}" = "ASK" ]; then
printf "nOpening '${cname}' volume:n"

if $CS isLuks $csrc 2>/dev/null; then
$CS $copts luksOpen $csrc $cname < /dev/console
else
$CS $copts create $cname $csrc < /dev/console
fi
elif [ "${cpass:0:1}" != "/" ]; then
if $CS isLuks $csrc 2>/dev/null; then
echo "$cpass" | $CS $copts luksOpen $csrc $cname >/dev/null
else
echo "$cpass" | $CS $copts create $cname $csrc >/dev/null
fi
else
if $CS isLuks $csrc 2>/dev/null; then
$CS -d $cpass $copts luksOpen $csrc $cname >/dev/null
else
$CS -d $cpass $copts create $cname $csrc >/dev/null
fi
fi
if [ $? -ne 0 ]; then
csfailed=1
stat_append "failed "
else
stat_append "ok "
fi
fi
}
while read line; do
eval do_crypt "$line"
done </etc/crypttab
if [ $csfailed -eq 0 ]; then
stat_done
else
stat_fail
fi
# Maybe someone has LVM on an encrypted block device
if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
if [ -x /sbin/lvm -a -d /sys/block ]; then
/sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
/sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
fi
fi
fi

status "Mounting Root Read-only" /bin/mount -n -o remount,ro /

FORCEFSCK=
[ -f /forcefsck ] && FORCEFSCK="-- -f"
NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk"

if [ -x /sbin/fsck ]; then
stat_busy "Checking Filesystems"
if /bin/grep -qw quiet /proc/cmdline; then
/sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >/dev/null 2>&1
else
/sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK 2>/dev/null
fi
fsckret=$?
if [ ${fsckret} -gt 1 ]; then
stat_fail
if [ $((${fsckret}&2)) -eq 2 ]; then
echo
echo "********************** REBOOT REQUIRED *********************"
echo "* *"
echo "* The system will be rebooted automatically in 15 seconds. *"
echo "* *"
echo "************************************************************"
echo
/bin/sleep 15
else
echo
echo "***************** FILESYSTEM CHECK FAILED ****************"
echo "* *"
echo "* Please repair manually and reboot. Note that the root *"
echo "* file system is currently mounted read-only. To remount *"
echo "* it read-write type: mount -n -o remount,rw / *"
echo "* When you exit the maintenance shell the system will *"
echo "* reboot automatically. *"
echo "* *"
echo "************************************************************"
echo
/sbin/sulogin -p
fi
echo "Automatic reboot in progress..."
/bin/umount -a
/bin/mount -n -o remount,ro /
/sbin/reboot -f
exit 0
fi
stat_done
fi

###################################
# Start GDM very early if in runlevel 5
FASTGDM=`/bin/sed "s/.*fastgdm.*/fastgdm/" /proc/cmdline`
if [ "$FASTGDM" = "fastgdm" ]; then
stat_busy "Preloading Graphical User Interface"
/usr/sbin/gdm-binary &
fi
###################################

stat_busy "Mounting Local Filesystems"
/bin/mount -n -o remount,rw /
/bin/rm -f /etc/mtab*
# make sure / gets written to /etc/mtab
/bin/mount -o remount,rw /
# Write /proc, /sys and /dev to /etc/mtab
if [ -e /proc/mounts ]; then
/bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab
fi
# now mount all the local filesystems
/bin/mount -a -t $NETFS
stat_done

status "Activating Swap" /sbin/swapon -a

stat_busy "Configuring System Clock"
if [ ! -f /var/lib/hwclock/adjtime ]; then
echo "0.0 0 0.0" > /var/lib/hwclock/adjtime
fi
if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then
/bin/rm -f /etc/localtime
/bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
fi

/sbin/hwclock $HWCLOCK_PARAMS
stat_done

if [ -f /var/run/random-seed ]; then
stat_busy "Initializing Random Seed"
/bin/cat /var/run/random-seed >/dev/urandom
stat_done
fi

stat_busy "Removing Leftover Files"
/bin/rm -f /etc/nologin &>/dev/null
/bin/rm -f /etc/shutdownpid &>/dev/null
/bin/rm -f /var/lock/* &>/dev/null
/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
/bin/rm -f /forcefsck &>/dev/null
(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} ; )
: > /var/run/utmp
# Keep {x,k,g}dm happy with xorg
/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix
/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix
stat_done

#status "Updating Shared Library Links" /sbin/ldconfig

if [ "$HOSTNAME" != "" ]; then
status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME
fi

# Set the NIS domain name, if necessary
[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname
if [ "$NISDOMAINNAME" != "" ]; then
status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME
fi

status "Updating Module Dependencies" /sbin/depmod -A

# Flush old locale settings
: >/etc/profile.d/locale.sh
/bin/chmod 755 /etc/profile.d/locale.sh
# Set user defined locale
[ -z "$LOCALE" ] && LOCALE="en_US"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done

if echo "$LOCALE" | /bin/grep -qi utf ; then
stat_busy "Setting Consoles to UTF-8 mode"
# UTF-8 consoles are default since 2.6.24 kernel
# this code is needed not only for older kernels,
# but also when user has set vt.default_utf8=0 but LOCALE is *.UTF-8.
for i in $(/usr/bin/seq 0 63); do
usr/bin/kbd_mode -u < /dev/vc/${i}
printf "e%%G" > /dev/vc/${i}
done
# the $CONSOLE check helps us avoid this when running scripts from cron
echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "e%%G"; fi' >>/etc/profile.d/locale.sh
stat_done
[ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q -u $KEYMAP
else
stat_busy "Setting Consoles to legacy mode"
# make non-UTF-8 consoles work on 2.6.24 and newer kernels
for i in $(/usr/bin/seq 0 63); do
/usr/bin/kbd_mode -a < /dev/vc/${i}
printf "e%%@" > /dev/vc/${i}
done
# the $CONSOLE check helps us avoid this when running scripts from cron
echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "e%%@"; fi' >>/etc/profile.d/locale.sh
stat_done
[ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q $KEYMAP
fi

if [ -n "$CONSOLEFONT" ]; then
stat_busy "Loading Console Font: $CONSOLEFONT"
#CONSOLEMAP in UTF-8 shouldn't be used
if [ -n "$CONSOLEMAP" ] && echo "$LOCALE" | /bin/grep -qi utf ; then
CONSOLEMAP=""
fi
for i in $(/usr/bin/seq 0 63); do
if [ -n "$CONSOLEMAP" ]; then
/usr/bin/setfont -m $CONSOLEMAP $CONSOLEFONT -C /dev/vc/${i} >/dev/null 2>&1
else
/usr/bin/setfont $CONSOLEFONT -C /dev/vc/${i} >/dev/null 2>&1
fi
done
if [ $? -ne 0 ]; then
stat_fail
else
for i in $(/usr/bin/seq 0 63); do
printf "e(K" > /dev/vc/${i}
done
# the $CONSOLE check helps us avoid this when running scripts from cron
echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "e(K"; fi' >>/etc/profile.d/locale.sh
stat_done
fi
fi

# Adding persistent network/cdrom generated rules
if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then
stat_busy "Adding persistent cdrom udev rules"
/bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules
stat_done
fi
if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then
stat_busy "Adding persistent network udev rules"
/bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules
stat_done
fi

# Save our dmesg output from this boot
if [ -f /var/log/dmesg.log ]; then
/bin/rm /var/log/dmesg.log
fi
/bin/dmesg > /var/log/dmesg.log

# End of file
# vim: set ts=2 noet:

ho aggiunto la parte in grassetto, che in pratica controlla se dalla linea di comando viene passata l'opzione fastgdm che praticamente fa cominciare prima il caricamento di GDM stesso.. per la storia dei moduli, dato che col kernel che ho compilato non me ne servono più, ho lavorato sull'rc.conf disabilitando il MOD_AUTOLOAD e cancellando tutti i moduli dall'array MODULES.. queste sono le modifiche che ho fatto fino ad ora.

Domani proverò a seguire il tuo consiglio relativo all'initramfs..
Ultima modifica di Berseker il 10 dicembre 2008, 22:10, modificato 1 volta in totale.
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio11 dicembre 2008, 1:01 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25603

Berseker ok piu o meno rc.sysinit è invariato... certo disabilitando mod_autoload in rc.conf hai guadagnato secondi però in questo modo se hai qualcosa di strettamente modulare ad esempio usb_storage, e attacchi una chiavetta usb, il modulo devi caricarlo a mano. Quello va bene se davvero TUTTO statico, io per ora cerco di evitare di metterlo su off..
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio11 dicembre 2008, 9:32 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25606

ho appunto compilato TUTTO statico apposta.. l'altro giorno avrò ricompilato il kernel una 10a di volte circa per sistemare tutto per filo e per segno.. anche se c'è ancora qualche piccola modifica da fare effettivamente. Comunque, caricare il GDM così presto missà che causa qualche piccolo effetto collaterale, proverò a caricarlo più in basso nello rc.sysinit.. vi farò sapere
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio11 dicembre 2008, 10:14 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25607

e' quellla la causa della lingua corrotta Berseker, inoltre non vedo aprezzabili miglioramenti, anzi,nel precaricare gnome...
L0cutus
Newbie
 
Messaggi: 9
Iscritto il: 11 novembre 2008, 1:09
Top

Messaggio11 dicembre 2008, 10:27 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25609

Codice: Seleziona tutto
#!/bin/bash
#
# /etc/rc.sysinit
#

. /etc/rc.conf
. /etc/rc.d/functions

echo " "
printhl "Arch Linuxn"
printhl "${C_H2}http://www.archlinux.org"
printhl "Copyright 2002-2007 Judd Vinet"
printhl "Copyright 2007-2008 Aaron Griffin"
printhl "Distributed under the GNU General Public License (GPL)"
printsep

# mount /proc, /sys and our RAM /dev
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys

# Create our default nodes that minilogd may need
/bin/mknod /dev/null c 1 3
/bin/mknod /dev/zero c 1 5
/bin/mknod /dev/console c 5 1

# More initial /dev setup that udev doesn't do
/bin/ln -snf /proc/self/fd /dev/fd
/bin/ln -snf /proc/self/fd/0 /dev/stdin
/bin/ln -snf /proc/self/fd/1 /dev/stdout
/bin/ln -snf /proc/self/fd/2 /dev/stderr
/bin/ln -snf /proc/kcore /dev/core
/bin/mkdir /dev/pts
/bin/mkdir /dev/shm

# start up our mini logger until syslog takes over
/sbin/minilogd

# anything more serious than KERN_WARNING goes to the console
# 'verbose' cmdline parameter enables more messages
if /bin/grep -q " verbose" /proc/cmdline; then
   /bin/dmesg -n 8
else
   /bin/dmesg -n 3
fi

# enable rtc access
/sbin/modprobe rtc-cmos >/dev/null 2>&1
RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null); RTC_MAJOR="${RTC_MAJOR%% *}"
if [ -n "$RTC_MAJOR" ]; then
   /bin/mkdir /dev/misc/
   /bin/mknod /dev/misc/rtc0 c $RTC_MAJOR 0
   /bin/ln -s /dev/misc/rtc0 /dev/rtc
fi

HWCLOCK_PARAMS="--hctosys"
if [ "$HARDWARECLOCK" = "UTC" ]; then
   HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
else
   HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
fi
if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
   HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
fi

# Set clock early to fix some bugs with filesystem checks
# Clock is set again later to match rc.conf
if [ -f /etc/localtime ]; then
   /sbin/hwclock $HWCLOCK_PARAMS --noadjfile
fi

echo > /proc/sys/kernel/hotplug

if [ -x /sbin/udevadm -a -d /sys/block ]; then
   # We have udev and /sys appears to be mounted, use UDev
   stat_busy "Starting UDev Daemon"
   /sbin/udevd --daemon
   stat_done
else
   # Static /dev, our last resort
   status "Using static /dev filesystem" true
fi

# Load modules from the MODULES array defined in rc.conf
if ! [ "$load_modules" = "off" ]; then
   if [ -f /proc/modules ]; then
      stat_busy "Loading Modules"
      for mod in "${MODULES[@]}"; do
         if [ "$mod" = "${mod#!}" ]; then
            /sbin/modprobe $mod
         fi
      done
      stat_done
   fi
   if [ -d /proc/acpi ]; then
      stat_busy "Loading standard ACPI modules"
      ACPI_MODULES="ac battery button fan processor thermal"
      k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')"
      j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')"
      #add disabled MODULES (!) to blacklist - much requested feature
      for m in ${j}; do
             [ "$m" != "${m#!}" ] && k="${k} ${m#!}"
      done
      # add disablemodules= from commandline to blacklist
      k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')"
      for n in ${ACPI_MODULES}; do
         if ! echo ${k} | /bin/grep "<$n>" 2>&1 >/dev/null; then
            /sbin/modprobe $n > /dev/null 2>&1
         fi
      done
      stat_done
   fi
fi

# run udev uevents
if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then
   stat_busy "Loading UDev uevents"
   udevstart="$(/bin/date +%s%0N)"
   /sbin/udevadm trigger
   /sbin/udevadm settle
   stat_done
   udevend="$(/bin/date +%s%0N)"
   printhl "   UDev uevent processing time: $((($udevend-$udevstart)/1000000))ms"
fi

# bring up the loopback interface
if [ -d /sys/class/net/lo ]; then
   stat_busy "Bringing up loopback interface"
   /sbin/ifconfig lo 127.0.0.1 up
   if [ $? -ne 0 ]; then
      stat_fail
   else
      stat_done
   fi
fi

# If necessary, find md devices and manually assemble RAID arrays
if [ -f /etc/mdadm.conf -a "$(/bin/grep ^ARRAY /etc/mdadm.conf 2>/dev/null)" ]; then
   # udev won't create these md nodes, so we do it ourselves
   for dev in $(/bin/grep ^ARRAY /etc/mdadm.conf | /bin/awk '{print $2}'); do
      path=$(echo $dev | /bin/sed 's|/[^/]*$||')
      node=$(echo $dev | /bin/sed "s|^$path/||")
      minor=$(echo $node | /bin/sed 's|^[^0-9]*||')
      [ ! -e $path/$node ] && /bin/mknod $path/$node b 9 $minor
   done
   status "Activating RAID arrays" /sbin/mdadm --assemble --scan
fi

if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
   if [ -x /sbin/lvm -a -d /sys/block ]; then
      # Kernel 2.6.x, LVM2 groups
      /sbin/modprobe -q dm-mod 2>/dev/null
      stat_busy "Activating LVM2 groups"
      /sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
      /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
      if [ $? -ne 0 ]; then
         stat_fail
      else
         stat_done
      fi
   fi
fi

# Set up non-root encrypted partition mappings
if [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then
   /sbin/modprobe -q dm-mod 2>/dev/null
   stat_busy "Unlocking encrypted volumes:"
   csfailed=0
   CS=/sbin/cryptsetup.static
   do_crypt() {
      if [ $# -ge 3 ]; then
         cname="$1"
         csrc="$2"
         cpass="$3"
         shift 3
         copts="$*"
         stat_append "${cname}.."
         # For some fun reason, the parameter ordering varies for
         # LUKS and non-LUKS devices.  Joy.
         if [ "${cpass}" = "SWAP" ]; then
            # This is DANGEROUS! The only possible safety check
            # is to not proceed in case we find a LUKS device
            # This may cause dataloss if it is not used carefully
            if $CS isLuks $csrc 2>/dev/null; then
               false
            else
               $CS -d /dev/urandom $copts create $cname $csrc >/dev/null
               if [ $? -eq 0 ]; then
                  stat_append "creating swapspace.."
                  /sbin/mkswap -L $cname /dev/mapper/$cname >/dev/null
               fi
            fi
         elif [ "${cpass}" = "ASK" ]; then
            printf "nOpening '${cname}' volume:n"

            if $CS isLuks $csrc 2>/dev/null; then
               $CS $copts luksOpen $csrc $cname < /dev/console
            else
               $CS $copts create $cname $csrc < /dev/console
            fi
         elif [ "${cpass:0:1}" != "/" ]; then
            if $CS isLuks $csrc 2>/dev/null; then
               echo "$cpass" | $CS $copts luksOpen $csrc $cname >/dev/null
            else
               echo "$cpass" | $CS $copts create $cname $csrc >/dev/null
            fi
         else
            if $CS isLuks $csrc 2>/dev/null; then
               $CS -d $cpass $copts luksOpen $csrc $cname >/dev/null
            else
               $CS -d $cpass $copts create $cname $csrc >/dev/null
            fi
         fi
         if [ $? -ne 0 ]; then
            csfailed=1
            stat_append "failed "
         else
            stat_append "ok "
         fi
      fi
   }
   while read line; do
      eval do_crypt "$line"
   done </etc/crypttab
   if [ $csfailed -eq 0 ]; then
      stat_done
   else
      stat_fail
   fi
   # Maybe someone has LVM on an encrypted block device
   if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
      if [ -x /sbin/lvm -a -d /sys/block ]; then
         /sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
         /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
      fi
   fi
fi

status "Mounting Root Read-only" /bin/mount -n -o remount,ro /

FORCEFSCK=
[ -f /forcefsck ] && FORCEFSCK="-- -f"
NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk"

if [ -x /sbin/fsck ]; then
   stat_busy "Checking Filesystems"
   if /bin/grep -qw quiet /proc/cmdline; then
      /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >/dev/null 2>&1
   else
      /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK 2>/dev/null
   fi
   fsckret=$?
   if [ ${fsckret} -gt 1 ]; then
      stat_fail
      if [ $((${fsckret}&2)) -eq 2 ]; then
         echo
         echo "********************** REBOOT REQUIRED *********************"
         echo "*                                                          *"
         echo "* The system will be rebooted automatically in 15 seconds. *"
         echo "*                                                          *"
         echo "************************************************************"
         echo
         /bin/sleep 15
      else
         echo
         echo "*****************  FILESYSTEM CHECK FAILED  ****************"
         echo "*                                                          *"
         echo "*  Please repair manually and reboot. Note that the root   *"
         echo "*  file system is currently mounted read-only. To remount  *"
         echo "*  it read-write type: mount -n -o remount,rw /            *"
         echo "*  When you exit the maintenance shell the system will     *"
         echo "*  reboot automatically.                                   *"
         echo "*                                                          *"
         echo "************************************************************"
         echo
         /sbin/sulogin -p
      fi
      echo "Automatic reboot in progress..."
      /bin/umount -a
      /bin/mount -n -o remount,ro /
      /sbin/reboot -f
      exit 0
   fi
   stat_done
fi

stat_busy "Mounting Local Filesystems"
/bin/mount -n -o remount,rw /
/bin/rm -f /etc/mtab*
# make sure / gets written to /etc/mtab
/bin/mount -o remount,rw /
# Write /proc, /sys and /dev to /etc/mtab
if [ -e /proc/mounts ]; then
   /bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab
fi
# now mount all the local filesystems
/bin/mount -a -t $NETFS
stat_done


status "Activating Swap" /sbin/swapon -a

# Flush old locale settings
: >/etc/profile.d/locale.sh
/bin/chmod 755 /etc/profile.d/locale.sh
# Set user defined locale
[ -z "$LOCALE" ] && LOCALE="en_US"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done

stat_busy "Configuring System Clock"
if [ ! -f /var/lib/hwclock/adjtime ]; then
   echo "0.0 0 0.0" > /var/lib/hwclock/adjtime
fi
if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then
   /bin/rm -f /etc/localtime
   /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
fi

/sbin/hwclock $HWCLOCK_PARAMS
stat_done

if echo "$LOCALE" | /bin/grep -qi utf ; then
   stat_busy "Setting Consoles to UTF-8 mode"
   # UTF-8 consoles are default since 2.6.24 kernel
   # this code is needed not only for older kernels,
   # but also when user has set vt.default_utf8=0 but LOCALE is *.UTF-8.
   for i in $(/usr/bin/seq 0 63); do
      usr/bin/kbd_mode -u < /dev/vc/${i}
      printf "e%%G" > /dev/vc/${i}
   done
   # the $CONSOLE check helps us avoid this when running scripts from cron
   echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "e%%G"; fi' >>/etc/profile.d/locale.sh
   stat_done
   [ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q -u $KEYMAP
else
   stat_busy "Setting Consoles to legacy mode"
   # make non-UTF-8 consoles work on 2.6.24 and newer kernels
   for i in $(/usr/bin/seq 0 63); do
      /usr/bin/kbd_mode -a < /dev/vc/${i}
      printf "e%%@" > /dev/vc/${i}
   done
   # the $CONSOLE check helps us avoid this when running scripts from cron
   echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "e%%@"; fi' >>/etc/profile.d/locale.sh
   stat_done
   [ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q $KEYMAP
fi

# Keep {x,k,g}dm happy with xorg
/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix
/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix
stat_done

###################################
# Start GDM very early if in runlevel 5
FASTGDM=`/bin/sed "s/.*fastgdm.*/fastgdm/" /proc/cmdline`
if [ "$FASTGDM" = "fastgdm" ]; then
    stat_busy "Preloading Graphical User Interface"
    /usr/sbin/gdm --nodaemon &
fi
###################################

if [ -f /var/run/random-seed ]; then
   stat_busy "Initializing Random Seed"
   /bin/cat /var/run/random-seed >/dev/urandom
   stat_done
fi

stat_busy "Removing Leftover Files"
/bin/rm -f /etc/nologin &>/dev/null
/bin/rm -f /etc/shutdownpid &>/dev/null
/bin/rm -f /var/lock/* &>/dev/null
/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
/bin/rm -f /forcefsck &>/dev/null
(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} ; )
: > /var/run/utmp

#status "Updating Shared Library Links" /sbin/ldconfig

if [ "$HOSTNAME" != "" ]; then
   status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME
fi

# Set the NIS domain name, if necessary
[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname
if [ "$NISDOMAINNAME" != "" ]; then
   status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME
fi

status "Updating Module Dependencies" /sbin/depmod -A



if [ -n "$CONSOLEFONT" ]; then
   stat_busy "Loading Console Font: $CONSOLEFONT"
   #CONSOLEMAP in UTF-8 shouldn't be used
   if [ -n "$CONSOLEMAP" ] && echo "$LOCALE" | /bin/grep -qi utf ; then
      CONSOLEMAP=""
   fi
   for i in $(/usr/bin/seq 0 63); do
      if [ -n "$CONSOLEMAP" ]; then
         /usr/bin/setfont -m $CONSOLEMAP $CONSOLEFONT -C /dev/vc/${i} >/dev/null 2>&1
      else
         /usr/bin/setfont $CONSOLEFONT -C /dev/vc/${i} >/dev/null 2>&1
      fi
   done
   if [ $? -ne 0 ]; then
      stat_fail
   else
      for i in $(/usr/bin/seq 0 63); do
         printf "e(K" > /dev/vc/${i}
      done
      # the $CONSOLE check helps us avoid this when running scripts from cron
      echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "e(K"; fi' >>/etc/profile.d/locale.sh
      stat_done
   fi
fi

# Adding persistent network/cdrom generated rules
if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then
   stat_busy "Adding persistent cdrom udev rules"
   /bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules
   stat_done
fi
if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then
   stat_busy "Adding persistent network udev rules"
   /bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules
   stat_done
fi

# Save our dmesg output from this boot
if [ -f /var/log/dmesg.log ]; then
   /bin/rm /var/log/dmesg.log
fi
/bin/dmesg > /var/log/dmesg.log

# End of file
# vim: set ts=2 noet:

con questo rc.sysinit modificato ho ancora un boot in 18 secondi e la lingua caricata correttamente. Nei vari test sono arrivato anche a un boot in 14 secondi, ma la lingua non era caricata..

@L0cutus
premettendo che avevi ragione sulla lingua, visto che la parte dedicata al caricamento delle impostazioni era poco sotto nell'rc.sysinit, bisogna dire che precarico GDM, non gnome.. e un minimo di guadagno (max un paio di secondi) sul mio sistema c'è, prima il sistema stava 3 o 4 secondi con il classico login testuale prima di caricare Xorg, ora lo si vede giusto un secondo e a mio parere smanettando ancora con l'rc.sysinit si può ancora migliorare.

Ora più che altro, dovrei passare al miglioramento del caricamento di GNOME, visto che anche li ci sta un po' troppi secondi per i miei gusti. Vedrò cosa riesco a fare con le sessioni..
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio11 dicembre 2008, 12:11 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25612

io per ora non voglio concentrarmi sul caricamento di X. Infatti per quello aspetteremo che gli ingegneri intel ci sveleranno le modifiche da effettuare. La sfida ora è rc.sysinit in particolare Udev.
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio11 dicembre 2008, 12:28 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25613

adriano ha scritto:io per ora non voglio concentrarmi sul caricamento di X. Infatti per quello aspetteremo che gli ingegneri intel ci sveleranno le modifiche da effettuare. La sfida ora è rc.sysinit in particolare Udev.

più che altro intendevo il caricamento di GNOME (dal login tramite GDM ad arrivare al desktop con i vari servizi avviati), non il caricamento di X in sè (che alla fine non richiede poi così tanti secondi).. comunque in linea di massima son d'accordo con te, anche se alla fine è proprio il sistema init che è intrinsecamente un po' lentuccio rispetto a upstart ad esempio
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio11 dicembre 2008, 13:50 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25619

beh si rispetto ad upstart siamo un pò indietro, però modificando possiamo ottenere molto
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio11 dicembre 2008, 14:16 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25620

Ho seguito quel link sul metodo del "preloading" di gdm e dei servizi eseguiti in background, ma riavviando all'avvio di X non avevo ne tastiera ne mouse.. penso sia dovuto al fatto che X venga eseguito prima di hal.
Comunque volevo sapere una cosa, nella compilazione del kernel, ad esempio ho deselezionato tutti i file system tranne ext3,vfat e ntfs, ma nella compilazione del kernel lo stesso mi compila reiserfs o ext2.. ho allora annullato e ricaricato il .config salvato precedentemente, e ho visto che alcune cose (come il tipo di processore ad esempio) restano salvate, mentre altre cose che avevo deselezionato le ritrovo selezionate (nel caso dei file system, c'era riselezionato tutto ext2, ext4 e altri).
Volevo sapere se è perchè sono delle dipendenze, o se insomma sbaglio qualcosa
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio11 dicembre 2008, 14:22 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25621

volevo segnalare che riguardo allo GNOME troppo esoso, ci sta lavorando da un po' questo ragazzo qui

http://mces.blogspot.com/2008/12/improv ... art-3.html

che si sta "bootchartando" tutta la fase di inizializzazione di GNOME, trovando i vari piccoli difetti di codice che fanno perdere tempo.. tutte patch che vengono man mano applicate al codice di GNOME e che ritroveremo quindi nella prossima release
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog
Avatar utente
Berseker
Amministratore
 
Messaggi: 4398
Iscritto il: 27 settembre 2007, 10:18
Località: Lecco (provincia)
Top

Messaggio11 dicembre 2008, 19:16 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25646

el_cammello ha scritto:Ho seguito quel link sul metodo del "preloading" di gdm e dei servizi eseguiti in background, ma riavviando all'avvio di X non avevo ne tastiera ne mouse.. penso sia dovuto al fatto che X venga eseguito prima di hal.
Comunque volevo sapere una cosa, nella compilazione del kernel, ad esempio ho deselezionato tutti i file system tranne ext3,vfat e ntfs, ma nella compilazione del kernel lo stesso mi compila reiserfs o ext2.. ho allora annullato e ricaricato il .config salvato precedentemente, e ho visto che alcune cose (come il tipo di processore ad esempio) restano salvate, mentre altre cose che avevo deselezionato le ritrovo selezionate (nel caso dei file system, c'era riselezionato tutto ext2, ext4 e altri).
Volevo sapere se è perchè sono delle dipendenze, o se insomma sbaglio qualcosa

anche a me è capitato di andare in confusione. Dovresti provare a disabilitare l'opzione CONFIG_IKCONFIG. Quella richiama la tua configurazione corrente in /proc/config.gz.

Così al 90% risolvi fammi sapere ;)
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio11 dicembre 2008, 22:09 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25665

Ho letto il 3ad, anche se non c'ho capito molto :D A che punto siamo col kernel e le varie configurazioni?
Arch Linux. Ebbasta
"L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
psykopear
Little John
 
Messaggi: 800
Iscritto il: 28 ottobre 2007, 23:20
Top

Messaggio11 dicembre 2008, 23:08 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25677

psykopear serve uno spunto ingegnoso per ridurre i tempi di udev
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio12 dicembre 2008, 9:47 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25689

adriano ha scritto:...
Così al 90% risolvi fammi sapere ;)

Grazie per la dritta, oggi sono impegnato fino a sera, per domani ti farò sicuramente sapere qualcosa :)

Edit: Ho disabilitato il "kernel config support" dalle opzioni generali, ma mi sembra che lavori come prima, cioè mi spiego meglio, perchè forse sono io che credo che compili più del dovuto e invece magari funziona proprio cosi: allora per esempio, in questo momento sto compilando, e ho visto passare queste scritte:
Codice: Seleziona tutto
...
 CC [M]  fs/reiserfs/do_balan.o
  CC [M]  fs/reiserfs/namei.o
  CC [M]  fs/reiserfs/inode.o
  CC [M]  fs/reiserfs/file.o
  CC [M]  fs/reiserfs/dir.o
  CC [M]  fs/reiserfs/fix_node.o
  CC [M]  fs/reiserfs/super.o
  CC [M]  fs/reiserfs/prints.o
  CC [M]  fs/reiserfs/objectid.o
  CC [M]  fs/reiserfs/lbalance.o
  CC [M]  fs/reiserfs/ibalance.o
  CC [M]  fs/reiserfs/stree.o
...

credo che stia compilando il supporto per il file system reiserfs, che però sono sicuro di aver spuntato, comunque anche guardando il file di config, la riga dovrebbe essere questa:
Codice: Seleziona tutto
[marinz@stazione2 linux-2.6.27]$ cat config_olidata | grep REISER
# CONFIG_REISERFS_FS is not set

Anche adesso ad esempio vedo passare delle scritte relative all'isdn che però so di non averlo incluso :/

Edit2: Ho scoperto il problema, in pratica dopo aver lanciato la compilazione, ho provato anche a vedere le dimensioni dei config, e il file ".config" era di circa 20 kb superiore al mio config personalizzato che avevo importato in menuconfig, quindi è bastato rinominare il mio file nel file ".config" e nella compilazione le scritte sopra relative a reiserfs ad esempio sono sparite. In pratica dopo aver importato il mio config, dovevo salvarlo con il nome ".config", invece pensavo che lo facesse automaticamente il tool di configurazione
Ultima modifica di marinz il 13 dicembre 2008, 11:18, modificato 1 volta in totale.
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

PrecedenteProssimo

Torna a Progetti

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Moderatori: 4javier, aleph, veleno77, adriano, Hilinus