Input

book: Create a structured PDF document with headings, chapters, etc.
webpage: Specifies that the HTML sources are unstructured (plain web pages.) A page break is inserted between each file or URL in the output.
continuous: Specifies that the HTML sources are unstructured (plain web pages.) No page breaks are inserted between each file or URL in the output.
Title of the document for the front page.
Extract the first heading of the document and use it as title. If checked the title field has no effect.
The title image or HTML page. These file has to be an attachments!
Specify document version to be displayed on the title page.
Intellectual property owner of this document.
Copyright notice for this document.
Information about who and when modified the document are applied at the end.

Output

Specifies the output format.
Grayscale document  Title page
Compression :   JPEG big images 

Pagina

 
User defined page size 
Choose one of the predefined standard sizes or select user defined.
Specifies the page size using a standard name or in points (no suffix or ##x##pt), inches (##x##in), centimeters (##x##cm), or millimeters (##x##mm).
Set the target browser width in pixels (400-1200). This determines the page scaling of images.
   2-Sided   Landscape
   
   
   
Specifies the margin size using points (no suffix or ##x##pt), inches (##x##in), centimeters (##x##cm), or millimeters (##x##mm). Keep empty for default value.
Left
Middle
Right
Sets the page header to use on body pages.
Left
Middle
Right
Sets the page footer to use on body pages.

Indice

Sets the number of levels in the table-of-contents. Empty for unlimited levels.
   Numbered headings Check to number all of the headings in the document.
Sets the title for the table-of-contents. Empty for default title.
Left
Middle
Right
Sets the page header to use on table-of-contents pages.
Left
Middle
Right
Sets the page footer to use on table-of-contents pages.

Colors

Enter the HTML color for the body (background).
Enter the image file for the body (background). These file has to be an attachments!
Enter the HTML color for the text.
Sets the color of links.
Enables generation of links in PDF files.

Fonts

Set the default size of text.
Set the spacing between lines of text.
Choose the default typeface (font) of text.
Choose the default typeface (font) of headings.
Set the size of header and footer text.
Choose the font for header and footer text.
Change the encoding of the text in document.
Check to embed font in the output file.

PDF

Controls the initial viewing mode for the document.
Document: Displays only the docuemnt pages.
Outline: Display the table-of-contents outline as well as the document pages.
Full-screen: Displays pages on the whole screen; this mode is used primarily for presentations.
Controls the initial layout of document pages on the screen.
Single: Displays a single page at a time.
One column: Displays a single column of pages at a time.
Two column left/right: Display two columns of pages at a time; the first page is displayed in the left or right column as selected.
Choose the initial page that will be shown.

Security

Check to number all of the headings in the document.
 Versione stampabile   Modify
 Copy   Annotate
Specifies the document permissions.
Specifies the user password to restrict viewing permissions on this PDF document. Empty for no encryption.
Specifies the owner password to control who can change document permissions etc. If this field is left blank, a random 32-character password is generated so that no one can change the document.

Expert

Specify language to use for date and time format.
Shrink code blocks on page.
Show line numbers for code blocks.
Make spaces visable by dots (·) instead of white spaces.
Make line breaks visable by a extra character (¶) at the end.
Enable this feature if you searching for problems or intent to report a bug report

About

Version 2.4.2 (MoinMoin 1.9.7)


MoinMoin - Generate PDF document using HTMLDOC

This action script generate PDF documents from a Wiki site using
the HTMLDOC (http://www.htmldoc.org) software packages which has
to be preinstalled first.

Copy this script in your's MoinMoin action script plugin directory.

Thanks goes to Pascal Bauermeister who initiated the implementaion.
Lot of things changes since then but the idear using HTMLDOC is the
main concept of this implementation.

Please visit the homepage for further informations:
http://moinmo.in/ActionMarket/PdfAction

@copyright: (C) 2006 Pascal Bauermeister
@copyright: (C) 2006-2010 Raphael Bossek <raphael.bossek@solutions4linux.de>
@license: GNU GPL, see COPYING for details

       

Italiano English
Modifica History Actions

Asus_WL-500g_e_openwrt_rc6

Asus WL-500g e openwrt rc6

Intro

In questo documento tratto come far vedere un pen drive usb alla vostra macchina mipsel per farci fare il boot o semplicemente per aumentare la memoria a disposizione (che è sempre moooooolto risicata).
Ho fatto le prove su un asus wl500g deluxe con openwrt rc6 (attenzione per rc inferiori alla 6 potrebbe non funzionare questo procedimento). La quasi totalità delle info che trovate qui di seguito sono state prese dalla documentazione on-line reperibile su http://www.openwrt.org. Inoltre questo documento è altamente migliorabile, quindi chi pensa di poter aggiungere, completare o cancellare del testo, è invitato a farlo!

Informazioni Generali

Host utilizzati:

  • host remoto (linux) da cui ho lavorato --> 192.168.0.10 (ethernet)

  • (Asus wl500g-deluxe) Openwrt rc6 --> 192.168.0.2 (ethernet)

Openwrt consta di 2 filesystem :

  • SquashFS --> kernel + filesystem read-only

  • JFFS2 --> filesystem scrivibile

Quando openwrt parte, verifica dapprima l'esistenza del filesystem JFFS2 e se non lo trova fa il boot da SquashFS. Di default il JFFS2 è popolato con link simbolici ai file del SquashFS. Per fare delle modifiche che rimangano effettive ai prossimi riavvii basta eliminare i link simbolici su JFFS2 e sostituirli con i file che si vuole (ovviamente mantenendo il nome del link simbolico).

Per esempio il file /etc/resolv.conf (che si occupa di indicare l'ip del ns da usare):

root@Asus_WRT_1:~# ls -l /etc/resolv.conf

lrwxrwxrwx    1 root     root           16 Jan  1 00:06 /etc/resolv.conf -> /tmp/resolv.conf

in queste condizioni se lo si modifica (vi /etc/resolv.conf), le modifiche avranno effetto fino al prossimo riavvio dopodichè andranno perse. Per rendere le modifiche effettive si deve cancellare il link simbolico e ricreare un file nella stessa posizione e con lo stesso nome del link appena cancellato. Solo allora le modifiche che si apporteranno rimarranno effettive anche ai prossimi riavvii :

root@Asus_WRT_1:~# rm /etc/resolv.conf ;touch /etc/resolv.conf ;vi /etc/resolv.conf

Openwrt usa la directory /etc/modules.d per caricare automaticamente i moduli ad ogni riavvio.

Backup dei dati su OpenWRT

Ti indico la procedura di backup per evitare di fare dei casini irreversibili. Ci sono 2 procedure:

1. (procedura rozza) sshti sull'asus e fai un mega tarrone delle configurazioni :

root@Asus_WRT_1:~#tar -czvf backup_asus.tar.gz /etc/

copia tutto sul pc 192.168.0.10 per esempio nella cartella /root/backup_asus

root@Asus_WRT_1:~#scp root@192.168.0.10:/root/backup_asus backup_asus.tar.gz

2. (procedura più pulita) oppure procedi così dal pc remoto 192.168.0.10 per fare il backup dell'intero firmware :

$ssh root@192.168.0.2 'dd if=/dev/mtdblock/1' > firmware-backup.trx

ti troverai il backup del firmware nella directory corrente.

Installazione del pennino USB

I moduli necessari sono :

root@Asus_WRT_1:~#ipkg install kmod-usb-uhci            (usb1.1)

root@Asus_WRT_1:~#ipkg install kmod-usb2                (usb2.0 ehci-hcd)

root@Asus_WRT_1:~#ipkg install kmod-usb-storage

root@Asus_WRT_1:~#ipkg install kmod-vfat                (supporto per fat32)

root@Asus_WRT_1:~#ipkg install kmod-ext2 kmod-ext3      (supporto per ext3; magari per un samba)

Passiamo ora al partizionamento e alla formattazione del pennino. Ci sono 2 modi: farlo da un pc OPPURE farlo direttamente sull'host openwrt (l'asus nel mio caso ).

Partizionamento e formattazione da PC

è il metodo che io ho preferito sia perchè così mi sono risparmiato di scaricare altri pacchetti necessari per queste operazioni sull'asus (gli apparati hanno una memoria generalmente risicata), sia perchè ho avuto dei priblemi nel formattare il pennino direttamente sul'asus. Trovate (tramite dmesg) come si chiama il vostro pennino (generalmente sd qualcosa). Creiamo la tabella delle partizioni :

bash-3.00#fdisk /dev/sda

una volta partito fdisk digita 'p' per vedere quali partizioni ci sono e 'd' seguito dal numero della partizione per cancellarle. Poi sempre con 'p' verifichi che non hai più partizioni. Ora devi creare una nuova partizione quindi digita 'n' e se la vuoi primaria (p) e 1.
Per riempire la chiavetta intera premi enter 2 volte.
Se vuoi creare una partizione FAT32 digita 't' e poi 'b'. Se vuoi creare una prtizione linux digita 't' e poi'83'.
Ora digita 'w' per scrivere la tabella di partizioni sulla chiavetta (non puoi più tornare indietro!).
Ora devi formattare la chiavetta :

bash-3.00#mkfs.vfat -F 32 /dev/sda1     (se hai scelto fat32)

bash-3.00#mkfs.ext3 /dev/sda1           (se hai scelto linux e la vuoi in ext3)

linux offre diversi file system con il rispettivo formattatore di fs (mkfs.reiserfx, mkfs.ext2 ecc... tab è tuo amico come dice Sal!!!).

Partizionamento e formattazione da host OpenWRT

serve fdisk ma non è presente nei repository della rc6 quindi aggiungiamo il backports della rc5 /etc/ipkg.conf

root@Asus_WRT_1:~#echo src backports http://downloads.openwrt.org/backports/rc5 >> /etc/ipkg.conf
root@Asus_WRT_1:~#ipkg update
root@Asus_WRT_1:~#ipkg install fdisk

Ora dovi sgamare come viene riconosciuto dal sistema il pennino. Plugga il pennino e lancia dmesg; dovresti trovare una voce del genere /dev/scsi/host0/bus0/target0/lun0---> questo è il tuo pennino.
Creiamo la tabella delle partizioni:

root@Asus_WRT_1:~#fdisk /dev/scsi/host0/bus0/target0/lun0

Per formattare la chiavetta sull'openwrt abbiamo bisogno di altri strumenti:

root@Asus_WRT_1:~#ipkg install e2fsprogs
root@Asus_WRT_1:~#mkefs -j /dev/scsi/host0/bus0/target0/lun0/part1      (per la formattazione)

Se ti esce un errore del tipo che non trova il file mke2fs significa che manca il link simbolico :

root@Asus_WRT_1:~#ln -s /proc/mounts /etc/mtabs         

(/proc/mounts mostra le informazione conosciute dal kernel a proposito dei dischi montati )

Fare il mount

Verifica che esista la cartella /mnt sul tuo apparato e se non esiste creala:

root@Asus_WRT_1:~# mkdir -p /mnt

Da questo punto in poi devi aver pluggato il pennino sull'apparato perchè tocca copiare tutto il contenuto della flash sulla usb :

root@Asus_WRT_1:~#mount -t ext3 /dev/scsi/host0/bus0/target0/lun0/part1 /mnt    

(montiamo il pennino in /mnt)

Ora hai tutto il contenuto del pennino in /mnt. Al prossimo riavvio il demone di hotplug dovrebbe incaricarsi di montarti in automatico il pennino in /mnt/disc0_1 o qualcosa del genere (il che sarà un problema per il boot da usb).

Boot da pennino USB

root@Asus_WRT_1:~#mkdir /tmp/root       

(creiamo una cartella di appoggio in cui copiare quello che verrà poi copiato sul pennino)

di queste 2 righe che seguono una esclude l'altra:

root@Asus_WRT_1:~#mount -o bind /rom /tmp/root  

(se vuoi caricare lo squashfs sulla usb e non ti interessa di eventuali modifiche che hai fatto sul JFFS2)

root@Asus_WRT_1:~#mount -o bind / /tmp/root     

(per chi ha fatto delle modifiche sul JFFS2.E' il mio caso e mi sento di consigliarlo!)



root@Asus_WRT_1:~#cp /tmp/root/* /mnt -a        

(copiamo tutto da /tmp/root in /mnt (pennino usb) compresi i file nascosti)

root@Asus_WRT_1:~#umount /tmp/root      

(smonto la directory /tmp/root che non mi serve più)

root@Asus_WRT_1:~#umount /mnt                   

(smonto il pennino usb)

Ora fai un backup del file /sbin/init

root@Asus_WRT_1:~#mv /sbin/init /sbin/init.BK

e rimpiazzalo con questo nuovo init:

# change this to your boot partition
boot_dev="/dev/scsi/host0/bus0/target0/lun0/part1"

# install needed modules for usb and the ext3 filesystem
# **NOTE** for usb2.0 replace "uhci" with "ehci-hcd"
# **NOTE** for ohci chipsets replace "uhci" with "usb-ohci"

for module in usbcore ehci-hcd usb-ohci uhci scsi_mod sd_mod usb-storage jbd ext3; do {
        insmod $module
}; done

# this may need to be higher if your disk is slow to initialize
sleep 4s

#aggiunta da pedro per smontare il pennino se hotplug lo ha già montato
umount /mnt/disc0_1

# mount the usb stick
mount "$boot_dev" /mnt

# if everything looks ok, do the pivot root
[ -x /mnt/sbin/init ] && {
        mount -o move /proc /mnt/proc && \
        pivot_root /mnt /mnt/mnt/disc0_1 && {
                mount -o move /mnt/dev /dev
                mount -o move /mnt/tmp /tmp

# If you are using whiterussian 0.9 then remove next two lines and uncomment third one:
# note that is jffs and not jffs2

                mount -o move /mnt/jffs2 /jffs2 2>&-
                mount -o move /mnt/sys /sys 2>&-
#               mount -o move /mnt/jffs /jffs 2>&-

        }
}

# finally, run the real init (from USB hopefully).

exec /bin/busybox init

Poi per verificare se al riavvio il boot viene fatto dal pennino o dalla flash puoi visualizzare un messaggio nel banner dell'openwrt :

$echo "BOOT FROM FLASH" >> /etc/banner

$mount /dev/scsi/host0/target0/lun0/part1 /mnt

$echo "BOOT FROM USB" >> /mnt/etc/banner

Ora dovrebbe essere tutto pronto per il boot da usb.Riavvia e in bocca al lupo. Se tutto è andato a buon fine non appena ti loggi sul tuo asus dovresti vedere il banner seguito dalla scritto BOOT FROM USB e il file /sbin/init è in forma binaria (è quello originale dell'openwrt!). Se l'asus non riesce per qualche motivo a partire da usb allora partirà dalla flash di default e ti mostrerà il messaggio BOOT FROM FLASH.

to fix:

nel nuovo file /sbin/init il vero e proprio cambio di root del sistema dalla flash alla usb avviene con il comando

root@Asus_WRT_1:~#pivot_root new_root old_root

dove nella new_root si indica la radice della usb /mnt e in old_root va messo il percorso per memorizzare la vecchia root di modo da rendere il cambio di root un processo reversibile. Secondo quanto scritto nel file la vecchia root dovrebbe essere in /mnt/mnt ma così non avviene.(idee!??!)

pedro