johnymarek / memup-hd-lnx-customming-firmware

Automatically exported from code.google.com/p/memup-hd-lnx-customming-firmware
0 stars 0 forks source link

Faire fonctionner optware sur le boitier #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Problemes:

- le boitier n'a pas de manager de packet
- le boitier a le dossier root en lecteur seule

les étapes à établir:

- trouver une solution pour installer optware
arriver à installer au moins une application via optware (ex nano): donc 
trouver les bon repositories...

Original issue reported on code.google.com by Jerome.p...@gmail.com on 17 Feb 2012 at 11:19

GoogleCodeExporter commented 9 years ago
pistes trouvées
http://forum.xbmc.org/showpost.php?p=424724&postcount=98
http://code.google.com/p/eboda-hd-for-all-500/wiki/optwareInstallation
http://www.brite-viewforum.com/viewtopic.php?f=20&t=1253&sid=11e9d3adcb43d50533f
a34a73fde3bb9

Original comment by Jerome.p...@gmail.com on 17 Feb 2012 at 11:27

GoogleCodeExporter commented 9 years ago
autre lien utilisé: 
http://www.linux-france.org/prj/edu/archinet/systeme/ch48s03.html

Installation réussi mais à améliorer:

Ce qu'il faut savoir: 
Si vous avez juste acheté le boitier ou que vous ne tenez pas aux données 
mises dessus,
l'idéal est de formater le disque dur en ext3 car NTFS ne gère pas les liens 
symboliques ce qui sera utilisé pour l'installation d'optware, il n'est donc 
pas possible d'installer optware sur le boitier de base.

Modification firmware (issue 1)

créer un dossier "opt" à la racine de root (dans squashfs-root)

récuperer le package ipk-cl 
wget http://www.kovari.priv.hu/download/ipkg-cl.tgz
tar -xvf ipkg-cl.tgz

copier le fichier ipk-cl et le coller dans le dossier squashfs-root 
usr/local/bin/ 

Original comment by Jerome.p...@gmail.com on 18 Feb 2012 at 2:41

GoogleCodeExporter commented 9 years ago
voir ce site pour faire une doc plus appropriée
http://www.cri.ch/sven/doku.php/oplay/optware

Original comment by Jerome.p...@gmail.com on 12 Oct 2012 at 9:34

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
toujours dans la modification du firmware :
créer un script dans la racinde de root (dans squashfs-root) avec le nom que 
vous souhaitez, pour ma part je l'ai nommé S00optovermount.

ce script servira à :
détecter sur quel dossier est montée la clé usb, en effet d'un démarrage à 
l'autre le montage de la clé prend un chemin...
souvent:
       - /tmp/usbmounts/sda1
       - /tmp/usbmounts/sdb1
       - /tmp/usbmounts/sdc1

rarement + (sda1 étant généralement le disque interne, et n'ayant que 2 
ports USB,logiquement jusqu'à sdc1 cela doit être suffisant.

le boitier a également la fâcheuse tendance à...... monter la clé en 
lecture seule, donc une fois la clé détectée, elle est démontée et 
remontée en lecture-écriture.
Il y a là un point à améliorer !!
ajout dans le path du dossier opt/bin , cette commande ne fonctionne quasiment 
jamais, je ne sais pas pourquoi....

Finalement, une fois la vérification faite, le montage en RW,
on appelle le script rcS que l'on va créer et placer dans /opt/etc/init.d/rcS
ce script va appeler les script de démarrage automatiques d'applications 
(exemple lancement de ssh, ou autre...), les scripts appelé commence par S.
code:

script S00optovermount
"
#!/bin/sh

#Attente du montage de la clé
echo '#overmount:/opt'
n=1

while [ ! -d  /opt/etc/ ] ; do
        if [ -d "/tmp/usbmounts/sda1/opt"  ]; then
                mount /tmp/usbmounts/sda1/opt -o remount,rw
        mount -o bind /tmp/usbmounts/sda1/ /opt
                mount -o bind /tmp/usbmounts/sda1/root /root
                mount -o bind /tmp/usbmounts/sda1/package /tmp/package
         elif [ -d "/tmp/usbmounts/sdb1/opt" ]; then
                mount /tmp/usbmounts/sdb1/opt -o remount,rw
        mount -o bind /tmp/usbmounts/sdb1/ /opt
                mount -o bind /tmp/usbmounts/sdb1/root /root
                mount -o bind /tmp/usbmounts/sdb1/package /tmp/package

         elif [ -d "/tmp/usbmounts/sdc1/opt" ]; then
                mount /tmp/usbmounts/sdc1/opt -o remount,rw
        mount -o bind /tmp/usbmounts/sdc1/ /opt
                mount -o bind /tmp/usbmounts/sdc1/root /root
                mount -o bind /tmp/usbmounts/sdc1/package /tmp/package
        fi

 sleep 3
 [ \$n -gt 30 ] && break
 let n+=1
 echo '#waiting for hdd..'
 echo \$n

done
#bind rss scripts directory:
if [ ! -f /opt/.overmounted ];then
    echo '#overmount start'
    touch /opt/.overmounted
    echo '#overmount end'
fi
echo 'export path'
 PATH=$PATH:/opt/bin:/opt/sbin
 export PATH

 #BEGIN CBA_OPT_STARTUP
 # wait HDD to start (should be no issue if no internal HDD) and run rcS fro
 opt_startup=/opt/etc/init.d/rcS
 n=1
 while [ ! -f $opt_startup ] ; do
 sleep 3
 [ $n -gt 30 ] && break
 let n+=1
 echo "#waiting for hdd.."
 done
 [ -f $opt_startup ] && /bin/sh $opt_startup
 #END CBA_OPT_STARTUP
:quit!
"

script rcS
"#!/bin/sh

# startup daemons
        if [ -d /opt/etc/init.d ]; then
                 for f in /opt/etc/init.d/S* ; do
                        [ -x $f ] && $f
                 done
        fi

# make optware visible (remis ici au cas ou...)
 PATH=$PATH:/opt/bin:/opt/sbin
 export PATH
"

finaliser l'image du firmware et mettre à jour le boitier

brancher une clé usb, attendre qu'elle soit reconnue,
quand c'est ok
démonter la clé usb  umount /tmp/usbmounts/sdb1 (ou sda1 ou sdc... donc à 
vérifier avant de démonter la clé)
formater la clé en ext3
  mke2fs -j -M /opt -L opt /dev/discs/disc0/part1   (a vérifier aussi)
 remonter la clé : 
  mount /dev/discs/disc0/part1 /tmp/usbmounts/sdb1 (ou sda1 ou sdc.. donc à vérifier)
créer les dossiers suivants sur la clé
root
package (ce dossier servira pour les installations de certains package)
opt (ce dossier sera lié symboliquement au dossier /opt créé lors de la 
création de l'image du firmware).

Original comment by Jerome.p...@gmail.com on 13 Oct 2012 at 12:51

Attachments:

GoogleCodeExporter commented 9 years ago
pour faire tenir le chemin PATH, placer les deux lignes suivantes dans 
/etc/profile

PATH=$PATH:/opt/bin:/opt/sbin
export PATH

testé et approuvé !!

Original comment by Jerome.p...@gmail.com on 13 Oct 2012 at 9:41

GoogleCodeExporter commented 9 years ago
avec tout cela nous pouvons installer optware!
créer sur la clé (donc dans /tmp/usbmounts/sd*1/ un dossier pour la 
préparation d'installation
cd /tmp/usbmounts/sd*1/
mkdir prepinstall
cd prepinstall

téléchargez les deux ipk suivants:

wget 
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13
_mipsel.ipk

wget 
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10
_mipsel.ipk

installer les packages en tapant 
ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
puis
ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk
optware est maintenant installé
les commandes de bases

mettre à jour ipkg: 
  /opt/bin/ipkg update
Liste des packages: 
  /opt/bin/ipkg list

 Installer un package: 
  /opt/bin/ipkg install <nom du package> 

exemple /opt/bin/ipkg install nano.

Original comment by Jerome.p...@gmail.com on 13 Oct 2012 at 9:49

GoogleCodeExporter commented 9 years ago

Original comment by Jerome.p...@gmail.com on 13 Oct 2012 at 9:53

GoogleCodeExporter commented 9 years ago
Attention le dossier package est nécessaire pour faire fonctionner les 
applications installées par optware MAIS est utilisé par le boitier 
également (notamment pour Samba!) si vous ne copiez pas le contenu du dossier 
package du boitier dans le doissier package de la clé certains services 
(notamment samba...!) ne fonctionneront pas correctement!!

Original comment by Jerome.p...@gmail.com on 13 Oct 2012 at 11:11