Notizie
CFLAGS : Conoscere il proprio processore e settare -march in modo corretto
0Guida scritta e curata da Sabayonio, vice admin di Sabayon Mania.
Questa che vi presentiamo è una guida per Gentoo che può essere adattata però anche a Sabayon.
Richiede una certa dimestichezza con l’uso di Portage. Quindi se non sapete cosa state facendo chiedete prima sul forum.
Gentoo offre molti tipi di personalizzazioni in fase di compilazione. Anche chi non utilizza Gentoo avrà (a lungo andare) sentito parlare di make.conf.
make.conf è il file di configurazione che informa portage su cosa e come passare alcuni parametri di ottimizzazione al compilatore.
Tra i vari (tanti) parametri di ottimizzazione che il compilatore offre spicca tra tutti -march= , che nella riga del make.conf è contenuta in CFLAGS=”-O2 -march=native -pipe .
Non mi avventuro nella spiegazione di sudetto parametro , ma vorrei soffermarmi su -march il quale indica al compilatore per quale tipo di cpu ottimizzare un determinato pacchetto.
Esempio : -march=pentium ottimizzerà il codice per un pentium di prima generazione
-march = pentiumpro ottimizzerà il codice per un pentium pro
e così via
compilazioni generiche sono : x86_64 , i686 , i586 etc per codice comune a quelle architetture non eccessivamente ottimizzato.
Dalla versione 4.2 di gcc è possibile passare native a -march ; questo setterà automaticamente le opzioni della propria cpu nel caso si abbia dei dubbi su cosa passare al compilatore.
Ma “native” quale impostazione utilizzerà ? Quale “architettura” passerà al compilatore ? Scopriamolo con questo test in “C” :
# echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=native -O2 test.c -o test && rm test.c test
l’output che si otterrà sarà qualcosa di simile a :
sing built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.2/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.2/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.6.2/work/gcc-4.6.2/configure –prefix=/usr –bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.2 –includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include –datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.2 –mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.2/man –infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.2/info –with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include/g++-v4 –host=x86_64-pc-linux-gnu –build=x86_64-pc-linux-gnu –disable-altivec –disable-fixed-point –with-ppl –with-cloog –disable-ppl-version-check –with-cloog-include=/usr/include/cloog-ppl –enable-lto –enable-nls –without-included-gettext –with-system-zlib –disable-werror –enable-secureplt –enable-multilib –enable-libmudflap –disable-libssp –enable-libgomp –with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.2/python –enable-checking=release –enable-objc-gc –enable-languages=c,c++,java,objc,obj-c++,fortran –enable-shared –enable-threads=posix –enable-__cxa_atexit –enable-clocale=gnu –enable-targets=all –with-bugurl=http://bugs.gentoo.org/ –with-pkgversion=’Gentoo 4.6.2 p1.0, pie-0.4.5′
Thread model: posix
gcc version 4.6.2 (Gentoo 4.6.2 p1.0, pie-0.4.5)
COLLECT_GCC_OPTIONS=’-v’ ‘-Q’ ‘-march=native’ ‘-O2′ ‘-o’ ‘test’
/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.2/cc1 -v test.c -D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mno-avx -mno-sse4.2 -mno-sse4.1 –param l1-cache-size=64 –param l1-cache-line-size=64 –param l2-cache-size=512 -mtune=amdfam10 -dumpbase test.c -auxbase test -O2 -version -o /tmp/ccC2Ast2.s
GNU C (Gentoo 4.6.2 p1.0, pie-0.4.5) version 4.6.2 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: –param ggc-min-expand=100 –param ggc-min-heapsize=131072
ignoring nonexistent directory “/usr/local/include”
ignoring nonexistent directory “/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/include”
#include “…” search starts here:
#include search starts here:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include-fixed
/usr/include
End of search list.
GNU C (Gentoo 4.6.2 p1.0, pie-0.4.5) version 4.6.2 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: –param ggc-min-expand=100 –param ggc-min-heapsize=131072
options passed: -v test.c -D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16
-msahf -mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma
-mno-fma4 -mno-xop -mno-bmi -mno-tbm -mno-avx -mno-sse4.2 -mno-sse4.1
–param l1-cache-size=64 –param l1-cache-line-size=64
–param l2-cache-size=512 -mtune=amdfam10 -O2
options enabled: -falign-labels -fasynchronous-unwind-tables
-fauto-inc-dec -fbranch-count-reg -fcaller-saves
-fcombine-stack-adjustments -fcommon -fcompare-elim -fcprop-registers
-fcrossjumping -fcse-follow-jumps -fdefer-pop -fdelete-null-pointer-checks
-fdevirtualize -fdwarf2-cfi-asm -fearly-inlining
-feliminate-unused-debug-types -fexpensive-optimizations
-fforward-propagate -ffunction-cse -fgcse -fgcse-lm
-fguess-branch-probability -fident -fif-conversion -fif-conversion2
-findirect-inlining -finline -finline-functions-called-once
-finline-small-functions -fipa-cp -fipa-profile -fipa-pure-const
-fipa-reference -fipa-sra -fira-share-save-slots -fira-share-spill-slots
-fivopts -fkeep-static-consts -fleading-underscore -fmath-errno
-fmerge-constants -fmerge-debug-strings -fmove-loop-invariants
-fomit-frame-pointer -foptimize-register-move -foptimize-sibling-calls
-fpartial-inlining -fpeephole -fpeephole2 -fprefetch-loop-arrays
-freg-struct-return -fregmove -freorder-blocks -freorder-functions
-frerun-cse-after-loop -fsched-critical-path-heuristic
-fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
-fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
-fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fschedule-insns2
-fshow-column -fsigned-zeros -fsplit-ivs-in-unroller -fsplit-wide-types
-fstrict-aliasing -fstrict-overflow -fstrict-volatile-bitfields
-fthread-jumps -ftoplevel-reorder -ftrapping-math -ftree-bit-ccp
-ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copy-prop
-ftree-copyrename -ftree-cselim -ftree-dce -ftree-dominator-opts
-ftree-dse -ftree-forwprop -ftree-fre -ftree-loop-if-convert
-ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
-ftree-parallelize-loops= -ftree-phiprop -ftree-pre -ftree-pta
-ftree-reassoc -ftree-scev-cprop -ftree-sink -ftree-slp-vectorize
-ftree-sra -ftree-switch-conversion -ftree-ter -ftree-vect-loop-version
-ftree-vrp -funit-at-a-time -funwind-tables -fvar-tracking
-fvar-tracking-assignments -fvect-cost-model -fzee
-fzero-initialized-in-bss -m128bit-long-double -m3dnow -m64 -m80387 -mabm
-maccumulate-outgoing-args -malign-stringops -mcx16 -mfancy-math-387
-mfp-ret-in-387 -mglibc -mieee-fp -mmmx -mno-sse4 -mpopcnt -mpush-args
-mred-zone -msahf -msse -msse2 -msse3 -msse4a -mtls-direct-seg-refs
Compiler executable checksum: 28388eca5d3f9ace699e0dfb3707ef35
main
Analyzing compilation unit
Performing interprocedural optimizations
Assembling functions:
main
Execution times (seconds)
integrated RA : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 (50%) wall 2 kB ( 0%) ggc
TOTAL : 0.00 0.00 0.02 1508 kB
COLLECT_GCC_OPTIONS=’-v’ ‘-Q’ ‘-march=native’ ‘-O2′ ‘-o’ ‘test’
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/as –64 -o /tmp/ccVrCph3.o /tmp/ccC2Ast2.s
COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.2/:/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.2/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS=’-v’ ‘-Q’ ‘-march=native’ ‘-O2′ ‘-o’ ‘test’
/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.2/collect2 –eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/crtbegin.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../.. /tmp/ccVrCph3.o -lgcc –as-needed -lgcc_s –no-as-needed -lc -lgcc –as-needed -lgcc_s –no-as-needed /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/crtend.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../lib64/crtn.o
la parte che interessa a noi sarà quella iniziale circa :
gcc version 4.6.2 (Gentoo 4.6.2 p1.0, pie-0.4.5)
COLLECT_GCC_OPTIONS='-v' '-Q' '-march=native' '-O2' '-o' 'test'
/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.2/cc1 -v test.c -D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mno-avx -mno-sse4.2 -mno-sse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10 -dumpbase test.c -auxbase test -O2 -version -o /tmp/ccC2Ast2.s
GNU C (Gentoo 4.6.2 p1.0, pie-0.4.5) version 4.6.2 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
la parte evidenziata in grassetto sarà l’ottimizzazione effettiva della propria cpu (il parametro -march varierà a seconda della vostra cpu.)
Nel mio caso impostando -march=native nel make.conf , Gcc passerà l’ottimizzazione per una CPU AMD : amdfam10
Buon Test CFLAGS :-*
Smart-Sulfuro-Mania
0Come ben tutti sapete Sulfur è il gestore di pacchetti binari di Sabayon.
Ha cambiato diversi nomi in questi anni(l’ultimo in ordine cronologico è Entropy Store) e molte sono state le modifiche apportate da Fabio Erculiani per renderlo più veloce e completo.
Dal punto di vista grafico Sulfur si presenta così:
Se volete dare un tocco diverso e migliorare l’aspetto ho scritto un piccolo script che sfrutta l’interfaccia grafica zenity per cambiare la maggior parte delle icone.
Il programma che ho creato si chiama Smart-Sulfuro-Mania e potete scaricarlo da questo link:
http://sabayon-mania.com/Smart-Sulfuro-Mania.tar
EDIT:
come dipendenze il programma richiede solo zenity.
Installatelo con equo prima di tutto.
Come per tutti gli archivi tar, basta estrarlo sul Desktop o dove volete.
Entrate con il terminale all’interno della cartella estratta(mi raccomando, dovete entrare nella cartella; potete spostarvi con cd oppure sfruttare il menu destro del mouse selezionando apri nel terminale dopo aver cliccato sulla cartella)
Per avviare lo script digitate nel terminale:
./smart-sulfuro-mania.sh
Enjoy.
Questo è il risultato:
MODALITA’ AVANZATA:
MODALITA’ COMPATTA:
Qualora Sulfur venisse aggiornato tutte le modifiche andranno perse.
Vi basterà quindi rilanciare lo script.
Anche Sabayon Mania protesta contro la legge (SOPA)
0
PROTECT-IP è una legge che è stata presentata al Senato e Camera del governo americano e sta per essere approvata al Congresso.
PROTECT-IP da al governo e le corporation americane la possibilità di oscurare dei siti internet nel nome della protezione della “creatività”. La legge consente infatti il blocco di interi siti internet da parte del governo o di singole società se convincono un giudice che il suddetto sito è “dedito alla violazione del copyright”.
Con questa legge condividere un video con qualunque cosa coperta da copyright al suo interno, in pratica quello che fanno Youtube o Twitter per intenderci, verrà considerato un comportamento illegale punibile con la reclusione fino a 5 anni e la chiusura immediata del sito.
E’ in atto una protesta fortissima negli Stati Uniti contro la PROTECT-IP, appoggiata da tutti i più grandi siti e blog. Il tutto parte da questo sito:
http://fightforthefuture.org
Si ritiene, secondo me a ragione, che se questo tipo di legge verrà approvata ed applicata negli Stati Uniti, costituirà un precedente fondamentale che farà da fondamenta alla creazione di leggi simili nel resto del mondo, gettando le basi ad una nuova regolamentazione mondiale di internet incentrata sulla protezione del diritto d’autore e quindi della censura in suo nome.
PROTECT IP / SOPA Breaks The Internet from Fight for the Future on Vimeo.
SABAYON MANIA, per poche ore, vuole dare un segno di vicinanza a tutti i siti mondiali che stanno partecipando a questo protesta.
Pensate se un giorno i nostri “tecnici” al governo prendessero esempio dagli americani. Non ci sarebbe più ad esempio sul nostro forum la sezione “News e articoli dal mondo linux e android” Chiunque potrebbe alzarsi la mattina e accusarci di violare un presunto diritto d’autore.
Nella home del forum non troverete infatti la solita pagina, ma verrete indirizzati su:
In basso potete vedere una lista(ho copiato solo le prime righe di una serie lunghissima) di siti che stanno partecipando.
Unfiltered List of Sites That are Participating
These are the sites that we’ve been told are participating. We are hearing from so many sites at once that we are completely overwhelmed and we haven’t been able to verify this full list yet.
- twitpic.com
- failblog.org
- gavialib.com/
- developmentbundle.com/
- facebook.com/media/set/?set=a.2009527132708.82450.1679612050&type=1&__user=1679612050#!/fluff.stiir?v=about&__user=1679612050
- hostervalley.com
- plewto.com
- appaggie.com
- metroissues.com/louisville/
- lies-and-sweet alibis.tumblr.com
- metalols.comuf.com/
- lostvideogames.wordpress.com/
- tumblr.com/blog/crackbitchesspider
- nauticry.wordpress.com
- vinneycavallo.com
- microwiki.org.uk
- twinsistermusic.com
- pulado.com/
- cingle.tumblr.com/
- seangw.com/wordpress
- mattselznick.com
- zinger.org
- laughinghieroglyphic.tumblr.com
- vanillaforums.org
- wrrj.org
- farthingcollective.com
- meatweek.com
- sicdesigns.yolasite.com/
- inner-demons.org
- fanrealm.net/
- miproximomovil.com
- myw3geek.tumblr.com
- sicdesigns.yolasite.com/
- jmsdigitalmedia.com
- tlrarchives.com
- ohnotheydidnt.com (ONTD)
- wearepixelcraft.com
- brinked.com
- ivonunes.com
- monbulkcol.vic.edu.au
- thatherenglishgirl.wordpress.com/
- coba.l.to
- facebook.com/profile.php?id=790354920&ref=tn_tnmn
- ontheganges.blogspot.com/
- animetion.net
- pax-morgana.livejournal.com
- wjsimpson.com/
- comfychairconsulting.com
- tr67.net
- theochevalier.fr
- thisspartanlife.com
- dabnotu.tumblr.com
- natexsully4ever.tumblr.com/
- potterverserpg.webs.com/
- antheliadesigns.com
- sparky4.net/
- federicopistono.org
- vibrantcode.com
- arainbowlyf.blogspot.com/
- dtorresphotography.tumblr.com
- animacritic.wordpress.com
- dinana.net
- maryannaville.com
- limmemonnie.tumblr.com/
Smart-Rescue-Mania
0
Ultimamente alcuni utenti hanno avuto diversi problemi dopo aver aggiornato il sistema.
Ci sono diversi motivi per spiegare questo tipo di situazioni ma cercherò di riassumere le più importanti:
-Sabayon è una rolling-release continuamente aggiornata. Installando una versione rilasciata anche pochi mesi prima ci si trova ad aggiornare tantissimi pacchetti. I problemi sono quindi dietro l’angolo.
-Ultimamente sono stati aggiornati pacchetti molto importanti come gcc.
-I driver delle schede video e il kernel vengono costantemente aggiornati. Capita a volte di sbagliare ad effettuare un aggiornamento, ritrovandosi con il famoso cursore lampeggiante in alto a sinistra e con lo sfondo scuro.
Per questo è per altri motivi i più esperti riescono ad uscire da situazioni delicate usando il terminale.
Ma per i meno esperti o per i pigri ho creato un nuovo tool chiamato Smart-Rescue-Mania
Questa volta è uno script( i precedenti Smart erano tutti provvisti di interfaccia grafica) che ci viene in aiuto in caso di problemi.
E’ scritto in bash, funziona quindi su tutti i vostri pc ed è stato concepito per essere eseguito quando non riuscite ad accedere al D.e della vostra Sabayon.
Vediamo cosa permette di fare lo script:
- Gestire in modo automatico la riparazione,
- Scaricare e installare gli ultimi aggiornamenti,
- Reinstallare i driver della tua scheda video,
- Riparare librerie danneggiate,
- Fare pulizia e liberare spazio su disco,
- Aggiungere i repository Sabayon Limbo,
- Aggiungere i repository Sabayon Mania.
E’ la versione light di Smart-Packet-Mania eseguibile esclusivamente nel terminale.


Per usare Smart-Rescue-Mania dovrete semplicemente digitare i seguenti comandi in un terminale:
wget http://www.sabayon-mania.com/rescue.sh
chmod +x rescue.sh
./rescue.sh
Siamo alla versione 0.1 per cui se avete suggerimenti o proposte per migliorare lo script sono a disposizione.
Stavo pensando che si potrebbe aggiungere la possibilità di uppare su pastebin i più importanti file log, in modo da essere aiutati qua sul forum.
Smart-Usb_Key-Mania
0Ciao a tutti.
Ho creato un nuovo strumento per tutti gli amici che ci seguono quì su Sabayon Mania.
Il suo nome è Smart-Usb_Key-Mania.
Facciamo una piccola premessa per spiegare meglio come funziona il mio nuovo tools.
Ormai il supporto cd/dvd per masterizzare le immagini Iso delle distro sta diventando obsoleto, vuoi per i costi, e anche per una questione di praticità.
Molte persone usano supporti rescrivibili per non sprecare preziosi cd o dvd vergini.
Ma ultimamente l’uso di supporti usb si sta facendo sempre più frequente.
Oltre alla praticità e alla velocità, trasferire una Iso su una chiavetta Usb è molto comodo.
Potrete avere la vostro live di Sabayon in tasca e portarla ovunque esista un pc che abbia la possibilità del boot da usb.
Esistono diversi programmi che permettono di trasferire un immagine iso su chiavetta usb, ma la maggior parte funzionano male o non supportano le ultime release di Sabayon.
Smart-Usb_Key-Mania è un tool grafico che si appoggia sullo strumento da riga di comando dd.
Tutto quello che dovrete fare è scaricare un immagine iso di Sabayon, magari utilizzando Smart-Download-mania, e avviare Smart-Usb_Key-Mania da root.
Le scelte che compongono il menu sono 3:

Tutto in 3 step.
Prima di aprire il programma inserite la vostra chiavetta usb.
Avviate Smart-Usb_Key-Mania da root.
Selezionate il primo steep: “Seleziona la tua chiavetta usb”
Nella finestra che si aprirà apparirà la vostra key(nel mio caso si chiama sdd). Selezionatela e cliccate su ok:


Passate al 2° steep: “Seleziona la Iso di Sabayon”
A questo punto dovrete semplicemente selezionare una iso precedentemente scaricata e salvata sul vostro hardisk.
(nel mio caso ho selezionato una daily a 64 bit salvata sul mio desktop)


Ultimo steep: Copia l’immagine iso sulla tua chiavetta Usb”

Ho creato un mega avviso, perchè non si sa mai.
Ricordate che la chiavetta usb deve essere vuota e non contenere i vostri dati.
Con il comando dd tutto il contenuto della chiavetta verrà cancellato e sostituito con l’immagine Iso di Sabayon.

Al termine della procedura, che durerà circa 5 minuti, potrete riavviare il pc e godere della vostra live usb.
COME AVVIARE E FAR FUNZIONARE Smart-Usb_Key-Mania
Scaricate il tool da questo indirizzo:
http://sabayon-mania.com/smart-usb_key-mania.sh
date i permessi di esecuzione allo script:
chmod +x ./smart-usb_key-mania.sh
avviatelo da root:
sudo ./smart-usb_key-mania.sh






















Recent Comments