E' troppo curioso ricevere una lettera di carta da Google per non pubblicarlo
fra parentesi e' un pubblicita' per AdWords
mercoledì 14 novembre 2012
martedì 13 novembre 2012
Slax
Sempre alla ricerca di creare un sistema Linux da portarmi a giro come Live Cd mi sono imbattuto in SLAX una derivata da Slackware
la caratteristica piu' interessante e' quella di non fornire una ISO prestabilita ma di poter creare la propria Linux Box con la funzione Slax Build
In estrema sintesi si puo' partire da un sistema di base ed aggiungere i vari moduli di interesse (io mi sono creato un sistema per la programmazione) fino ad scaricare un file .iso con tutto montato
Il sistema non e' perfetto e le dipendenze devono essere in qualche caso corrette a mano ma in fin dei conti e' poca cosa
Interessante e' anche la possibilita' di salvare la configurazione dei moduli su un file per poterlo correggere o riprendere la selezione in un secondo tempo
![]() |
| Boot di Slax |
la caratteristica piu' interessante e' quella di non fornire una ISO prestabilita ma di poter creare la propria Linux Box con la funzione Slax Build
In estrema sintesi si puo' partire da un sistema di base ed aggiungere i vari moduli di interesse (io mi sono creato un sistema per la programmazione) fino ad scaricare un file .iso con tutto montato
Il sistema non e' perfetto e le dipendenze devono essere in qualche caso corrette a mano ma in fin dei conti e' poca cosa
![]() |
| Il modulo CodeBlocks aggiunto alla ISO |
Creare una Live-Cd partendo da una installazione funzionante
Una delle cose che ho sempre desiderato e' quella di potermi portare dietro i programmi e le impostazioni che mi servono anche se non ho dietro il portatile
Ho cosi' provato un po' di soluzioni per poi decidere il sistema riportato da Remastersys
Non volendo sacrificare il portatile mi sono creato una macchina virtuale minimale partendo da una installazione standard di Ubuntu Server 12.04 (Remastersys non gestisce Debian Testing e quindi ho escluso di provare su Debian) per poi aggiungere openbox
apt-get install openbox obconf obmenu openbox-themes startx xterm
in questo modo si ha un ambiente grafico minimale
E' giunto il momento di creare una iso del nuovo sistema prima aggiungendo ad apt la chiave del repository di Remastersys
wget -O - http://www.remastersys.com/ubuntu/remastersys.gpg.key | apt-key add -
dopo si modifica il file /etc/apt/sources.list aggiungendo la riga
deb http://www.remastersys.com/ubuntu precise main
seguito dall'aggiornamento di apt
apt-get update
e
apt-get install remastersys
e' giunto il momento di creare il file iso includendo anche i file personali (e non solo quelli di sistema)
il file viene generato nella directory /home/remastersys
dopo un (bel) po' viene creato il file iso che puo' essere masterizzato o messo su chiavetta USB e distribuito
Al riavvio si presenta questo menu
e tutto funziona magnificamente
Ho cosi' provato un po' di soluzioni per poi decidere il sistema riportato da Remastersys
Non volendo sacrificare il portatile mi sono creato una macchina virtuale minimale partendo da una installazione standard di Ubuntu Server 12.04 (Remastersys non gestisce Debian Testing e quindi ho escluso di provare su Debian) per poi aggiungere openbox
apt-get install openbox obconf obmenu openbox-themes startx xterm
in questo modo si ha un ambiente grafico minimale
E' giunto il momento di creare una iso del nuovo sistema prima aggiungendo ad apt la chiave del repository di Remastersys
wget -O - http://www.remastersys.com/ubuntu/remastersys.gpg.key | apt-key add -
dopo si modifica il file /etc/apt/sources.list aggiungendo la riga
deb http://www.remastersys.com/ubuntu precise main
seguito dall'aggiornamento di apt
apt-get update
e
apt-get install remastersys
e' giunto il momento di creare il file iso includendo anche i file personali (e non solo quelli di sistema)
remastersys backup nome_file.iso
il file viene generato nella directory /home/remastersys
dopo un (bel) po' viene creato il file iso che puo' essere masterizzato o messo su chiavetta USB e distribuito
Al riavvio si presenta questo menu
e tutto funziona magnificamente
lunedì 12 novembre 2012
Wget dietro proxy server
Per utilizzare il comando wget in una rete schermata da un proxy server non e' sufficiente impostare la variabile bash http_proxy con il comando
export http_proxy=http://myproxy:8080
perche' il programma di fatto non legge questa impostazione
la soluzione piu' semplice e' creare un file .wgetrc inserendo la stringa
http_proxy=http://myproxy:8080
export http_proxy=http://myproxy:8080
perche' il programma di fatto non legge questa impostazione
la soluzione piu' semplice e' creare un file .wgetrc inserendo la stringa
http_proxy=http://myproxy:8080
sabato 10 novembre 2012
Installa Ruby on Rails su Debian per Passbook Server
per questa installazione si e' partiti da una Debian Testing netinstall perche' la versione Stable ha come pacchetti Ruby 1.8 mentre a me serve la versione piu' recente di Ruby (la 1.9) accoppiata al piu' recente Rails (3)
Esiste un Live Cd di TurnKey che propone un ambiente Ruby On Rails gia' configurato ma essendo un derivato da Debian Stable anche in questo caso si trovano pacchetti datati
Lo scopo finale e' quello di settare un ambiente di sviluppo/test per i Passbook di Apple
una volta installato il sistema in modalita' server (quindi niente ambiente desktop) si procede con
apt-get update
apt-get upgrade
apt-get install build-essential apache2 libapache2-mod-passenger
apt-get install rdoc ruby1.9.1-full
apt-get install ruby1.9.1-dev libopenssl-ruby rubygems1.8
gem install fastthread
apt-get install ruby-rails-3.2
gem install coffee-rails uglifier
con queste impostazioni si ha un ambiente di svliluppo generico che permette di usare gli esempi riportati a questo link
a questo punto si inizia a settare le dipendenze per il Passbook Server
gem install sinatra sequel sqlite3 rubyzip rack json terminal-table
si scompattano gli esempi Passbook che si trovano su Apple Developer e ci si posiziona nella directory ServerReference/pass_server e si lancia
gem install lib/sign_pass-1.0.0.gem
chmod 755 lib/pass_server_ctl
lib/pass_server_ctl -s
martedì 6 novembre 2012
Menuet Os
Un progetto interessante ma sostanzialmente inutile....un sistema operativo scritto interamente in Assembler con Fasm
Menuet OS si scarica da qui e l'immagine e' grande quanto un disco da 1.44 Mb
Per utilizzarla con QEmu si usa la seguente stringa
qemu -localtime -m 768 -fda M32-085B.IMG -L . -net user -net nic
la prima schermata e' per settare alcuni parametri della scheda video
e dopo si ha il desktop con alcune utility (a dire il vero molto scarne)
Menuet OS si scarica da qui e l'immagine e' grande quanto un disco da 1.44 Mb
Per utilizzarla con QEmu si usa la seguente stringa
qemu -localtime -m 768 -fda M32-085B.IMG -L . -net user -net nic
la prima schermata e' per settare alcuni parametri della scheda video
e dopo si ha il desktop con alcune utility (a dire il vero molto scarne)
lunedì 5 novembre 2012
Primi passi in Assembler su Linux
piu' che altro per divertimento ho provato a riscrivere qualcosa in assembler..era dai tempi del DOS e di Int 21h che non usavo piu' l'assembler
E' curioso ritrovare che anche Linux come Dos usa un interrupt (80h) per la gestione del sistema ed e' anche curioso di come si possano usare le chiamate alle funzioni C (in questo caso printf) dall'Assembler (di solito e' il linguaggio di piu' alto livello che sfrutta quello di livello piu' basso)
Tutti gli esempi sono compilati con nasm
Il primo esempio stampa una scritta a video usando l'Int 80h
Per la compilazione si devono dare i seguenti comandi
nasm -f elf32 scrivi.asm
ld -o scrivi scrivi.o
scrivi.asm
-------------------------------------------------------
global _start
section .text
_start:
mov eax,4
mov ebx,1
mov ecx,messaggio
mov edx,lunghezza
int 80h
mov eax,1
mov ebx,0
int 80h
section .data
messaggio: db 'Hello ',0x0a
lunghezza: equ $-messaggio
-------------------------------------------------------
come output si ha
Hello
Per il secondo esempio si usa invece la chiamata esterna printf per stampare il valore di una variabile
In questo caso la catena di compilazione e' differente per venire incontro alla chiamata esterna che e' risolta da gcc
nasm -f elf32 -l scrivi2.lst scrivi2.asm
gcc -o scrivi2 scrivi2.o
scrivi2.asm
-------------------------------------------------------
extern printf
section .text
global main
main:
push ebp
mov ebp,esp
push dword [a]
push dword formato
call printf
add esp,12
mov esp,ebp
pop ebp
mov eax,0
ret
section .data
a: dd 5
formato: db "a=%d",10,0
-------------------------------------------------------
come output si ha
a=5
Molto simile al precedente il terzo esempio mostra un ciclo
nasm -f elf32 -l scrivi3.lst scrivi3.asm
gcc -o scrivi3 scrivi3.o
scrivi3.asm
-------------------------------------------------------
extern printf
section .text
global main
main:
push ebp
mov ebp,esp
mov ebx,10
gira:
push ebx
push dword formato
call printf
dec ebx
jnz gira
mov esp,ebp
pop ebp
mov eax,0
ret
section .data
formato: db "ciclo=%d",10,0
-------------------------------------------------------
produce come output
ciclo=10
ciclo=9
ciclo=8
ciclo=7
ciclo=6
ciclo=5
ciclo=4
ciclo=3
ciclo=2
ciclo=1
Iscriviti a:
Post (Atom)
FigSpec FS-60CL
A lavoro mi hanno rifilato questo sensore iperspettrale cinese (pushbroom 400-1000 nm con larghezza di banda di 0.5 nm compatibile con DJI M...






