Linux: breve tutorial sull'initrd

pubblicato by gianluca at Sun 25 Mar 2012

Initrd è l'abbreviazione di init ial r am d isk, cioè un filesystem da tenere in RAM usato da un sistema linux per effettuare un boot completo.

Per capire il suo utilizzo bisogna prima fare una premessa: un kernel linux è di tipo (semi-)monolitico, in pratica i driver per le periferiche sono interni al kernel stesso: quindi per avere un kernel generale che funzioni su più hardware possibile dovremmo compilarlo inserendo tutti i driver disponibili ma facendo così renderemmo il kernel stesso molto pesante. Ci viene in aiuto il fatto che questo OS non è completamente monolitico ma predispone la possibilità di compilare i propri device driver anche come moduli, cioè come delle speciali librerie da attivare al momento più opportuno tramite i comandi in user space come modprobe.

Il problema è in parte risolto, in realtà solo spostato: i moduli sono file e come tutti i file ...

(leggi tutto)

Tagged as: boot, cpio, initrd, internal, linux

Page visitata 48 volte / Comments (0)

Creare una fixture per l'autenticazione in Django

pubblicato by gianluca at Fri 20 Jan 2012

Succede spesso durante la creazione dei test per un progetto di aver bisogno di credenziali per un utente fittizio in maniera tale da poter controllare delle view con un utente autenticato

class CartTest(TestCase):
   fixtures = ['cart.json', 'auth.json']
   def test_add_deal(self):
       client = Client()
       self.assertEqual(client.login(username='pippo', password='pluto'), True)
       # qui altra roba

Siccome per avere il json auth.json bisognerebbe registrarsi effettivamente sulla piattaforma e poi effettuare un bel python manage.py dumpdata auth e a noi non ci piace, ci leggiamo la documentazione e scopriamo che il formato della password è il seguente

hashtype$salt$hash

quindi se noi vogliamo la password pippo con il salt 7fea6 hashato con sha1 possiamo utilizzare da linea di comando

$ echo -n '7fea6''pippo' | sha1sum

A questo punto la seguente fixture può essere scritta

[
 {
   "model": "auth.user",
   "pk": 1,
   "fields": {
     "username": "pluto",
     "password": "sha1$7fea6$ff1456d2e21736c28046f416c4da647b73520cef"
   }
 }
]

L'utente pippo ...

(leggi tutto)

Tagged as: autenticazione, django, fixture, programmazione

Page visitata 40 volte / Comments (0)

User mode linux

pubblicato by gianluca at Mon 31 Oct 2011

Una delle problematiche sentite da chi sviluppa in ambito enterprise e non è la necessità di testare correttamente alcune configurazioni di sistema avendo a disposizione un ambiente pulito; esistono molte possibilità per fare questo tra cui la virtualizzazione tramite strumenti quali VirtualBox, WMWare e simili, una possibilità sconosciuta ai più è l'utilizzo di Linux in user space tramite user mode linux (per gli amici UML).

Il vantaggio di UML è la semplicità di avere una instanza di linux su terminale con cui poter effettuare i test ed in caso avere la stessa istanza "pulita" al prossimo riavvio.

Prima di tutto recuperiamo una versione: è possibile farlo dal sito http://user-mode-linux.sourceforge.net oppure in un sistema Debian dal pacchetto user-mode-linux. Partiamo usando la versione sul sito ufficiale e scarichiamo il kernel e decomprimiamolo; ci ritroveremo con un eseguibile capace di lanciare un kernel 2.6.24 in user space ...

(leggi tutto)

Tagged as: testing, uml

Page visitata 103 volte / Comments (0)

Creare un RadioButton senza immagine

pubblicato by gianluca at Wed 07 Sep 2011

La soluzione è abbastanza banale solo che non è immediata, mi ci sono voluti vari tentativi: prima di tutto bisogna notare che esiste l'attributo di style android:button che prende una drawable in ingresso e la prima idea è stata quella di creare una immagine 0x0; funziona ma il problema è che mostra un quadratino minuscolo anti-estetico.

La soluzione definitiva è stata utilizzare una risorsa interna identificata nel namespace Java come android.R.id.empty: nel file di layout è possibile indicarla tramite

<RadioButton
  android:button="@android:id/empty"
/>

A questo punto ci si ritrova con un RadioButton senza nessuna immagine. Consigliabile di creare un insieme di stili per definire visivamente gli stati del bottone in questione, altrimenti potrebbe risultare inusabile.

Tagged as: android, programming, radiobutton, ui

Page visitata 51 volte / Comments (0)