mirror of https://github.com/CIRCL/Circlean
doc update
parent
1e494adbe5
commit
6de31e562d
|
@ -1,49 +1,3 @@
|
||||||
Why/What
|
|
||||||
========
|
|
||||||
|
|
||||||
This project aims to be used in case you got an USB key you do not know what is
|
|
||||||
contains but still want to have a look.
|
|
||||||
|
|
||||||
Work in progress, contributions welcome:
|
|
||||||
|
|
||||||
The content of the first key will be copyed or/and converted to the second key
|
|
||||||
following theses rules (based on the mime type):
|
|
||||||
- direct copy of plain text files (mime type: text/*)
|
|
||||||
- direct copy of audio files (mime type: audio/*)
|
|
||||||
- direct copy of image files (mime type: image/*)
|
|
||||||
- direct copy of video files (mime type: video/*)
|
|
||||||
- direct copy of example files (mime type: example/*)
|
|
||||||
- direct copy of message files (mime type: message/*)
|
|
||||||
- direct copy of model files (mime type: model/*)
|
|
||||||
- direct copy of multipart files (mime type: multipart/*)
|
|
||||||
- Copying or converting the application files this way (mime type: application/*):
|
|
||||||
- pdf => HTML
|
|
||||||
- msword|vnd.openxmlformats-officedocument.*|vnd.ms-*|vnd.oasis.opendocument* => pdf => html
|
|
||||||
- *xml* => copy as a text file
|
|
||||||
- x-dosexec (executable) => prepend and append DANGEROUS to the filename
|
|
||||||
- x-gzip|x-tar|x-7z-compressed => compressed file
|
|
||||||
- octet-stream => direct copy
|
|
||||||
|
|
||||||
Compressed files (x-gzip|x-tar|x-7z-compressed):
|
|
||||||
- Unpacking of archives
|
|
||||||
- Recursively run the rules on the unpacked files
|
|
||||||
|
|
||||||
Usage
|
|
||||||
=====
|
|
||||||
|
|
||||||
0. Power off the device
|
|
||||||
1. Plug the untrusted key in the top usb slot of the Raspberry Pi
|
|
||||||
2. Plug your own key in the bottom usb slot
|
|
||||||
Note: This key should be bigger than the original one because the archives
|
|
||||||
will be copyed
|
|
||||||
3. Optional: connect the HDMI cable to a screen to see what happen
|
|
||||||
4. Connect the power to the micro USB
|
|
||||||
5. Wait until you do not see any blinking green light on the board, or if you
|
|
||||||
connected the HDMI cable, check the screen
|
|
||||||
it's slow and can take 30-60 minutes depending on how many document
|
|
||||||
conversions take place
|
|
||||||
6. Power off the device and disconnect the drives
|
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
=====
|
=====
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
Why/What
|
||||||
|
========
|
||||||
|
|
||||||
|
This project aims to be used in case you got an USB key you do not know what is
|
||||||
|
contains but still want to have a look.
|
||||||
|
|
||||||
|
Work in progress, contributions welcome:
|
||||||
|
|
||||||
|
The content of the first key will be copyed or/and converted to the second key
|
||||||
|
following theses rules (based on the mime type):
|
||||||
|
- direct copy of plain text files (mime type: text/*)
|
||||||
|
- direct copy of audio files (mime type: audio/*)
|
||||||
|
- direct copy of image files (mime type: image/*)
|
||||||
|
- direct copy of video files (mime type: video/*)
|
||||||
|
- direct copy of example files (mime type: example/*)
|
||||||
|
- direct copy of message files (mime type: message/*)
|
||||||
|
- direct copy of model files (mime type: model/*)
|
||||||
|
- direct copy of multipart files (mime type: multipart/*)
|
||||||
|
- Copying or converting the application files this way (mime type: application/*):
|
||||||
|
- pdf => HTML
|
||||||
|
- msword|vnd.openxmlformats-officedocument.*|vnd.ms-*|vnd.oasis.opendocument* => pdf => html
|
||||||
|
- *xml* => copy as a text file
|
||||||
|
- x-dosexec (executable) => prepend and append DANGEROUS to the filename
|
||||||
|
- x-gzip|x-tar|x-7z-compressed => compressed file
|
||||||
|
- octet-stream => direct copy
|
||||||
|
|
||||||
|
Compressed files (x-gzip|x-tar|x-7z-compressed):
|
||||||
|
- Unpacking of archives
|
||||||
|
- Recursively run the rules on the unpacked files
|
||||||
|
|
||||||
|
Usage
|
||||||
|
=====
|
||||||
|
|
||||||
|
0. Power off the device
|
||||||
|
1. Plug the untrusted key in the top usb slot of the Raspberry Pi
|
||||||
|
2. Plug your own key in the bottom usb slot
|
||||||
|
Note: This key should be bigger than the original one because the archives
|
||||||
|
will be copyed
|
||||||
|
3. Optional: connect the HDMI cable to a screen to see what happen
|
||||||
|
4. Connect the power to the micro USB
|
||||||
|
5. Wait until you do not see any blinking green light on the board, or if you
|
||||||
|
connected the HDMI cable, check the screen
|
||||||
|
it's slow and can take 30-60 minutes depending on how many document
|
||||||
|
conversions take place
|
||||||
|
6. Power off the device and disconnect the drives
|
||||||
|
|
||||||
|
Helper scripts
|
||||||
|
==============
|
||||||
|
|
||||||
|
You should use them as example when you are creating a new image and probably not
|
||||||
|
run them blindly as you will most probably have to change constraints accordingly to
|
||||||
|
your configuration.
|
||||||
|
|
||||||
|
IN ALL CASES, PLEASE READ THE COMMENTS IN THE SCRIPTS AT LEAST ONCE.
|
||||||
|
|
||||||
|
* proper_chroot.sh: uses qemu to chroot into a raspbian instance (.img or SD Card)
|
||||||
|
* prepare_rPI_builder.sh: update the system, add the repositories and install all
|
||||||
|
the dependencies needed to compile poppler and pdf2htmlEX on a rPi
|
||||||
|
* update_builder.sh: compile the latest version of poppler from debian experimental,
|
||||||
|
pull and compile the latest version of pdf2htmlEX from the git repository
|
||||||
|
* prepare_rPI.sh: update the system, install the dependencies of poppler and pdf2htmlEX,
|
||||||
|
install poppler and pdf2htmlEX (the deb packages compiled in the builder)
|
||||||
|
* create_user.sh: create the user who will run the scripts, assign the proper sudo rights.
|
||||||
|
* copy_to_final.sh: populate the content of the directory fs/ in the image,
|
||||||
|
contains a sample of dd command to write the image on the SD card.
|
||||||
|
*TAKE CARE NOT USING THE WRONG DESTINATION*
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,4 +18,5 @@ tar -xzf backup.tar.gz -C ${CHROOT_PATH}/
|
||||||
|
|
||||||
# /!\ always try to mount the root partition on the SD, it is usually broken.
|
# /!\ always try to mount the root partition on the SD, it is usually broken.
|
||||||
# if it is, use fdisk to remove the second partition and recreate it (you will
|
# if it is, use fdisk to remove the second partition and recreate it (you will
|
||||||
# not lose the data)
|
# not lose the data).
|
||||||
|
# See resize_img.md
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
# change locales to en_US.UTF-8
|
# change locales to en_US.UTF-8
|
||||||
dpkg-reconfigure locales
|
dpkg-reconfigure locales
|
||||||
|
|
||||||
|
@ -21,14 +20,8 @@ apt-get update
|
||||||
# liblcms2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libglib2.0-doc \
|
# liblcms2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libglib2.0-doc \
|
||||||
# libcairo2-doc
|
# libcairo2-doc
|
||||||
apt-get build-dep poppler
|
apt-get build-dep poppler
|
||||||
apt-get -b source -t experimental poppler
|
|
||||||
# Note: libpoppler-private-dev is not listed in the dependencies of pdf2htmlEX
|
|
||||||
# but still needed because of poppler-config.h
|
|
||||||
dpkg -i libpoppler-dev* libpoppler28* libpoppler-private-dev*
|
|
||||||
|
|
||||||
git clone https://github.com/coolwanglu/pdf2htmlEX.git
|
# build dependencies of pdf2htmlEX
|
||||||
cd pdf2htmlEX/
|
|
||||||
# build Deps
|
|
||||||
apt-get install cmake libfontforge-dev libspiro-dev python-dev
|
apt-get install cmake libfontforge-dev libspiro-dev python-dev
|
||||||
|
|
||||||
dpkg-buildpackage -uc -b
|
git clone https://github.com/coolwanglu/pdf2htmlEX.git
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Notes:
|
||||||
|
# - To chroot in an existing SD card, unset IMAGE. Change the paths to the partitions if needed.
|
||||||
|
# - The offsets are thoses of 2013-02-09-wheezy-raspbian.img. It will change on an other image.
|
||||||
|
# To get the offsets, use the "file" command.
|
||||||
|
|
||||||
if [ "$(id -u)" != "0" ]; then
|
if [ "$(id -u)" != "0" ]; then
|
||||||
echo "This script must be run as root" 1>&2
|
echo "This script must be run as root" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -14,13 +19,14 @@ set -e
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
# If you use a partition...
|
# If you use a partition...
|
||||||
#PARTITION_ROOTFS='/dev/mmcblk0p2'
|
PARTITION_ROOTFS='/dev/mmcblk0p2'
|
||||||
#PARTITION_BOOT='/dev/mmcblk0p1'
|
PARTITION_BOOT='/dev/mmcblk0p1'
|
||||||
PARTITION_ROOTFS='/dev/sdd2'
|
#PARTITION_ROOTFS='/dev/sdd2'
|
||||||
PARTITION_BOOT='/dev/sdd1'
|
#PARTITION_BOOT='/dev/sdd1'
|
||||||
|
|
||||||
# If you use the img
|
# If you use the img
|
||||||
##### Debian
|
##### Debian
|
||||||
IMAGE='2013-02-09-wheezy-raspbian.img'
|
#IMAGE='2013-02-09-wheezy-raspbian.img'
|
||||||
OFFSET_ROOTFS=$((122880 * 512))
|
OFFSET_ROOTFS=$((122880 * 512))
|
||||||
OFFSET_BOOT=$((8192 * 512))
|
OFFSET_BOOT=$((8192 * 512))
|
||||||
##### Arch
|
##### Arch
|
||||||
|
@ -51,6 +57,7 @@ clean(){
|
||||||
|
|
||||||
trap clean EXIT TERM INT
|
trap clean EXIT TERM INT
|
||||||
|
|
||||||
|
# enforce the CPU in order to have the armv6 instructions set (and compile working packages...)
|
||||||
export QEMU_CPU=arm1176
|
export QEMU_CPU=arm1176
|
||||||
#export QEMU_STRACE=1
|
#export QEMU_STRACE=1
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# get sources of latest libpoppler from experimental in the debian packages
|
apt-get -b source -t experimental poppler
|
||||||
# Unpack the sources
|
|
||||||
# unpack the the debian patches in the dir of the sources
|
|
||||||
# let the dsc file outside of this directory
|
|
||||||
# Build package
|
|
||||||
# Take a nap
|
|
||||||
|
|
||||||
cd /root/pdf2htmlEX
|
# Note: libpoppler-private-dev is not listed in the dependencies of pdf2htmlEX
|
||||||
|
# but still needed because of poppler-config.h
|
||||||
|
dpkg -i libpoppler-dev* libpoppler28* libpoppler-private-dev*
|
||||||
|
|
||||||
|
cd pdf2htmlEX/
|
||||||
git pull
|
git pull
|
||||||
dpkg-buildpackage -rfakeroot -uc -b
|
|
||||||
ls ../*deb
|
|
||||||
ls /var/cache/apt/archives/libpoppler*
|
|
||||||
|
|
||||||
# Copy libpoppler and pdf2htmlex deb out of the chroot.
|
|
||||||
|
|
||||||
|
dpkg-buildpackage -uc -b
|
||||||
|
|
Loading…
Reference in New Issue