Pagina 1 di 1

Consigli Slackware 64 bit From Scratch

Inviato: ven 1 dic 2006, 21:03
da jiveaxe
Ciao a tutti,
è da una settimana che provo Slackware 11 e devo dire che mi trovo molto a mio agio, dopo tre anni e passa di SuSE; non è per nulla complicata e con un pò di tempo (qualche ora) e l'uso della funzione cerca di questo fantastico forum l'ho configurata tutta, dalla scheda video, alla stampante, a internet, ecc. Ora vorrei qualcosa di più. Infatti la mia macchina monta un Athlon 64 e quindi vorrei realizzare da zero una Slackware 64 bit multilibreria; so che ci sono porting già pronti per questo, slamd64 fra tutti, ma il problema è che sono limitato da una dial-up e scaricare diverse centinaia di megabyte, se non qualche gigabyte, diventa impossibile.

Così ho dato un'occhiata alla guida Cross Linux From Scratch http://cross-lfs.org/view/1.0.0/x86_64/ e mi sono messo all'opera; ho completato il capitolo 8 e mi sono quindi fermato per raccogliere le idee su come procedere. Vorrei infatti costruire la distro in modo da sfruttare pkgtool come manager dei pacchetti e gli SlackBuild che trovo su Slacky.it e Slamd64.com per la compilazione degli stessi.

Non vorrei che proseguendo con i capitoli successivi di CLFS mi discottassi eccessivamente o nettamente dagli standard di slackware. Dopo infatti aver costruito il sistema temporaneo ora dovrei installare il sistema base con i pacchetti fondamentali, il primo dei quali, a mio avviso, dovrebbe essere pkgtool; nel sistema temporaneo sono presenti i seguenti pacchetti:

Binutils
GCC
Ncurses
Bash
Bzip2
Coreutils
Diffutils
Findutils
Gawk
Gettext
Grep
Gzip
Make
Patch
Sed
Tar
Texinfo
Util-linux

Sono sufficienti? O dovrei metterci qualcos'altro prima di iniziare l'installazione vera e propria?

Potete indicarmi, se ne esistono, fonti web attinenti questa discussione?

Ci sarebbero altri dubbi ma che riguardano fasi successive della compilazione (sysvinit, bootscripts, ecc).

Comunque grazie in anticipo,
Giuseppe

Inviato: sab 2 dic 2006, 14:39
da absinthe
ma... se sei limitato nella banda puoi acquistare a poche lire i cd masterizzati da altri oppure puoi chiedere a qualcuno di scaricarla per te (tra un mp3 e l'altro :P).
ciò detto se la vuoi ricompilare devi creare un sistema minimo che contenga tutto ciò che si trova nella seziona a dei pkgs. in realtà basterebbero i tgz della sezione a marcati come obbligatori. per ricompilare il tutto ti occorre una slack completa di sorgenti e slackbuild (ad esempio il dvd della 11 che si trova in edicola) e poi credo che "basti" inserire una flag diversa per il compilatore (indicando che vuoi codice per athlon a 64 bit...)

M

Inviato: dom 3 dic 2006, 1:21
da Jak
bene :) ogni giorno scopro sempre di più quanto sono ignorante :P

Anch'io ho un AMD64 però non ci ho capito una mazza, eheheheheh...

Ah, se non vado troppo OT, il mio è un Sempron con supporto per i 64bit...

Quando compilo il kernel (32bit) qual'è l'ottimizzazione più appropriata? K7 o K8 o i686?

Inviato: dom 3 dic 2006, 8:27
da gohanz

Inviato: dom 3 dic 2006, 9:36
da Jak
Ok ho capito che il mio è un "AMD Sempron 2800+ Socket 754 con supporto AMD64".

Ma non ho ancora capito se l'ottimizzazione del codice più appropriata è K7 o K8...

Inviato: dom 3 dic 2006, 9:38
da Jak
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 44
model name : AMD Sempron(tm) Processor 2800+
stepping : 2
cpu MHz : 1607.828
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall mmxext lm 3dnowext 3dnow pni
bogomips : 3211.26
questo è il risultato di cat /proc/cpuinfo.

Sembra non abbia il supporto alle sse3 (anche se non credo che importi molto...

Inviato: dom 3 dic 2006, 14:00
da jiveaxe
Io avevo intenzione di usare questa ottimizzazione:

Codice: Seleziona tutto

CFLAGS="-O3 -ffast-math -funroll-all-loops -ftree-vectorize -march=athlon64 -mtune=athlon64"
che dovrebbe andare bene anche per il sempron 64 bit.

Sono comunque ancora in attesa di qualche consiglio o fonte su come proseguire.

Ciao

Inviato: dom 3 dic 2006, 14:42
da absinthe
io non ho mai ricompilato una mazza... se proprio volete ricompilare, la cosa importante è l'architettura: così da specificare il modello esatto di cpu e i bit impiegati. per il resto non vedo grossi vantaggi e, se mi è concesso, rimarrei su un -o2 che è molto più testata e sicura.
prendi lo stralcio di slackbuild originale per le coreutils della 11.0:

Codice: Seleziona tutto

#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-coreutils

VERSION=5.97
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}

if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
fi
basta che aggiungi un elif con le specifiche del tuo processore e cambi la variabile ARCH.

Codice: Seleziona tutto

#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-coreutils

VERSION=5.97
ARCH=${ARCH:-athlon_64}
BUILD=${BUILD:-1}

if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "athlon_64" ]; then
  SLKCFLAGS="-O2 -march=athlon64"
fi
tra l'altro non ha molto senso usare -mtune ponendolo uguale all' -march, come si legge nel manuale di gcc:
-march=cpu-type
Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type.
M

PS: per curiosità, data la mia allergia alla compilazione: ma che fa l'opzione "$ARCH"="x86_64"? perchè non è dichiarata l'architettura?!? ne viene usata una di default?

Inviato: dom 3 dic 2006, 14:49
da absinthe
Jak ha scritto:Ok ho capito che il mio è un "AMD Sempron 2800+ Socket 754 con supporto AMD64".

Ma non ho ancora capito se l'ottimizzazione del codice più appropriata è K7 o K8...
k8 ha il supporto per i 64bit k7 non la trovo nel manuale del gcc: http://gcc.gnu.org/onlinedocs/gcc-3.4.6 ... 64-Options
comunque direi k8! a tuo rischio e pericolo :violent3:

M