Condividi con noi i tuoi progetti personali

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

Messaggio14 dicembre 2008, 11:24 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25870

bene, quindi anche dopo il Load il kernel compila sempre seguendo ".config"
ho imparato una nuova cosa :)
adriano
Arciere Provetto
 
Messaggi: 538
Iscritto il: 20 luglio 2008, 13:45
Top

Messaggio15 dicembre 2008, 10:43 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25909

Compilando "veramente" il kernel dopo 10.000 tentativi (kernel panic, dimenticanze ecc...) sono passato dai 27 ai 22 secondi di boot (togliendo pure l'immagine initrd), lasciando inalterati i servizi di avvio (samba, hal, named per cache dns ecc...), e senza il preloading di gdm o della modifica per lanciare i demoni in background. Il pacchetto finale occupa circa 15 mb, sono in linea secondo voi o è ancora "cicciotto"? :)

Sotto l'immagine di bootchart:
Immagine
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio15 dicembre 2008, 11:03 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #25912

beh più che la dimensione del pacchetto, dovresti guardare l'immagine del kernel quanto ti viene grossa
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

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

Berseker ha scritto:beh più che la dimensione del pacchetto, dovresti guardare l'immagine del kernel quanto ti viene grossa

Codice: Seleziona tutto
[marinz@stazione2 ~]$ ls -l /boot/vmlinuz26-fastboot
-rw-r--r-- 1 root root 2961216 15 dic 09:16 /boot/vmlinuz26-fastboot

Questa distro è sempre più una meraviglia

Edit: Ma allora quei 2 ingegneri della Intel non rilascieranno più niente? E' disponibile una iso di Fedora con quel tipo di boot?
Ultima modifica di marinz il 20 dicembre 2008, 14:22, modificato 1 volta in totale.
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio23 dicembre 2008, 11:01 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #26437

Se qualcuno vuole avviare gdm con il metodo "fastgdm" ma gli crea problemi per hal (che deve essere avviato prima per mouse e tastiera), vi spiego come ho risolto temporaneamente: ho editato /etc/rc.conf aggiungendo una nuova riga per i demoni:
Codice: Seleziona tutto
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#
DAEMONS=(hal)
DAEMONS_II=(syslog-ng network @alsa @crond @samba @cups @named)

poi in /etc/rc.multi:
Codice: Seleziona tutto
. /etc/rc.conf
. /etc/rc.d/functions

# Load sysctl variables if sysctl.conf is present
[ -r /etc/sysctl.conf ] && /sbin/sysctl -q -p &>/dev/null

#1: Start daemons
for daemon in "${DAEMONS[@]}"; do
   if [ "$daemon" = "${daemon#!}" ]; then
      if [ "$daemon" = "${daemon#@}" ]; then
         start_daemon $daemon
      else
         start_daemon_bkgd ${daemon:1}
      fi
   fi
done

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

sleep 6 #tempo impiegato da X con gdm per avviarsi

/etc/rc.daemons &
...

infine il file /etc/rc.daemons:
Codice: Seleziona tutto
#!/bin/bash
#
# /etc/rc.daemons

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

for daemon in "${DAEMONS_II[@]}"; do
   if [ "$daemon" = "${daemon#!}" ]; then
      if [ "$daemon" = "${daemon#@}" ]; then
         start_daemon $daemon
      else
         start_daemon_bkgd ${daemon:1}
      fi
   fi
done

In pratica tarando la sleep per benino, i processi in daemons_II iniziano ad avviarsi quando digito la password in gdm, e ho notato che finiscono in tempo prima che entri in gnome..con questo metodo ho guadagnato altri 4 secondi, se avete altri consigli, miglioramenti ecc non esitate ;)
Immagine
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio23 dicembre 2008, 15:15 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #26454

Scusa el cammello, ma tu con tutti i miglioramenti descritti nel 3ad arrivi a 18 secondi? Perchè io, semplicemente mettendo in background tutti i demoni e mettendo quiet nel menu.lst arrivo a 19

Immagine
Ultima modifica di psykopear il 23 dicembre 2008, 15:16, modificato 1 volta in totale.
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

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

psykopear ha scritto:Scusa el cammello, ma tu con tutti i miglioramenti descritti nel 3ad arrivi a 18 secondi? Perchè io, semplicemente mettendo in background tutti i demoni e mettendo quiet nel menu.lst arrivo a 19

Si meno di 18 per il momento niente, se metto tutti i demoni in background vado a 22, per curiosità come ce l'hai collegato lìhard disk, serial ata, raid..?
DE: slim && (openbox || kde 4.5)
marinz
Little John
 
Messaggi: 907
Iscritto il: 30 agosto 2007, 20:10
Top

Messaggio24 dicembre 2008, 10:42 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #26509

Attualmente ho un hard disk ide da 7200rpm, anche se oggi sto per montarne uno sata da non so quanti rpm, però il doppio di capacità (500Gb). 2Gb di ram a procio intel single core da 3Ghz (purtroppo non mi ricordo il modello)
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

Messaggio25 dicembre 2008, 16:05 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #26600

non esiste un comando per vedere il contenuto della cache del disco in memoria? sarebbe comodo per generare una lista simil-readahead . . .
ImmagineOutside of a dog, computers are a man's best friend, inside a dog it's too dark to type.
aleph
Robin Hood
 
Messaggi: 1530
Iscritto il: 12 febbraio 2008, 17:30
Top

Messaggio25 dicembre 2008, 21:50 - Fast-init, boot da 5 secondi! Ce l'abbiamo fatta ;) #26631

psykopear ha scritto:Attualmente ho un hard disk ide da 7200rpm, anche se oggi sto per montarne uno sata da non so quanti rpm, però il doppio di capacità (500Gb). 2Gb di ram a procio intel single core da 3Ghz (purtroppo non mi ricordo il modello)

Il mio è SATA (max UDMA/133) e 2 Gb di ram... comunque alla fine miglioramo la situazione sempre di 4-5 secondi, sarebbe bello andare sotto ai 15' di boot... ma di quei 2 della Intel non si sa più niente? Rilasceranno ancora qualcosa delle loro modifiche per la comunità?
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

cron