[abgeschlossen] Entwurf: IDE Menü
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
so - hier nun die neue version.
folgende änderungen sind gemacht:
- swap auf an/aus mit fixed size 128MB geändert - im alten code war ein dreher bei der swap/swapsize var drin - sorry dr.stoned ;-)
- ide Treiber werden nun bei bedarf ge/entladen
- abspeichern der settings IDE_MODE, SWAP und HDDFS ohne die Festplatte einzurichten nicht mehr möglich
bisher war es möglich, die HDD mit XFS und Swap einzurichten und anschließend im Menü andere Settings zu speichern - macht wenig Sinn. Ob die Lösung mit global vars und system calls so gut ist ... kann ja jeder für sich optimieren.
die funktionen LoadDrivers und UnloadDrivers sind nur zur vorbereitung auf mmc.
immernoch nur ein entwurf!
edit: veraltete version gelöscht
eine neue locals:
hddsettings.hdd.savesettings.message Die Festplatte muss neu eingerichtet werden\n Fortfahren?\n
feedback wäre nett
Innu
folgende änderungen sind gemacht:
- swap auf an/aus mit fixed size 128MB geändert - im alten code war ein dreher bei der swap/swapsize var drin - sorry dr.stoned ;-)
- ide Treiber werden nun bei bedarf ge/entladen
- abspeichern der settings IDE_MODE, SWAP und HDDFS ohne die Festplatte einzurichten nicht mehr möglich
bisher war es möglich, die HDD mit XFS und Swap einzurichten und anschließend im Menü andere Settings zu speichern - macht wenig Sinn. Ob die Lösung mit global vars und system calls so gut ist ... kann ja jeder für sich optimieren.
die funktionen LoadDrivers und UnloadDrivers sind nur zur vorbereitung auf mmc.
immernoch nur ein entwurf!
edit: veraltete version gelöscht
eine neue locals:
hddsettings.hdd.savesettings.message Die Festplatte muss neu eingerichtet werden\n Fortfahren?\n
feedback wäre nett
Innu
Zuletzt geändert von Innuendo am Montag 26. März 2007, 08:54, insgesamt 1-mal geändert.
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41
Kann mir jemand sagen wie ich folgenden Code kompiliert bekomme, oder besser Kompileirt und direkt nach /bin verschoben (so wie z.B. camd).
loadsupport.cpp
Makefile.am
Ich hab unter apps/tuxbox/tools den Ordner loadsupport erstellt.
Darin die Dateien loadsupport.cpp (siehe oben) und Makefile.am.
Dann eine Ebene höher das Makefile.am und das configure.ac angepasst.
Der komplette ImageBuildvorgang läuft auch durch nur loadsupport wird nicht erstellt.
Ich will das Programm so wie von der englischen Fraktion ursprünglich angedacht, dazu nutzen um mit Hilfe der ide.conf die IDE-Treiber zu starten.
loadsupport.cpp
Code: Alles auswählen
/*
* Tool to determine whether or not the extended support like
* IDE should be loaded
*
* $Id: extsupport.cpp,v 0.1 2007/04/04 13:46:24 Speedy2206 Exp $
*
* Copyright (C) 2006 the Tuxbox project http://www.tuxbox.org.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main()
{
int idestatus = 0;
int activesoftcam = 0;
FILE* fdconf = fopen("/var/tuxbox/config/ide.conf", "r");
if(fdconf)
{
char buffer[120];
while(fgets(buffer, 120, fdconf)!=NULL)
{
sscanf(buffer, "IDEMODE=%i", idestatus);
sscanf(buffer, "SWAP=%i", ideswap);
sscanf(buffer, "HDDFS=%i", idefs);
}
fclose(fdconf);
}
if (idestatus == 0) // IDE Functionality is Disabled (dont load kernel stuff)
{
printf("[LOAD-SUPPORT] IDE Support Disabled\n");
}
else // IDE Functionality is Enabled (load everything)
{
printf("[LOAD-SUPPORT] IDE Support Enabled\n");
system("insmod ide-core.o");
system("insmod dboxide.o");
system("insmod ide-detect.o");
system("insmod ide-disk.o");
if (idefs == 0)
system("insmod xfs.o");
system("/bin/mount -t xfs /dev/ide/host0/bus0/target0/lun0/part2 /hdd");
if (idefs == 1)
system("insmod jbd.o");
system("insmod ext3.o");
system("/bin/mount -t ext2 /dev/ide/host0/bus0/target0/lun0/part2 /hdd");
if (idefs == 2)
system("insmod ext2.o");
system("/bin/mount -t ext2 /dev/ide/host0/bus0/target0/lun0/part2 /hdd");
if (idefs != 0)
system("/sbin/swapon /dev/ide/host0/bus0/target0/lun0/part1");
}
}
Code: Alles auswählen
bin_PROGRAMS = loadsupport
loadsupport_SOURCES = loadsupport.cpp
Darin die Dateien loadsupport.cpp (siehe oben) und Makefile.am.
Dann eine Ebene höher das Makefile.am und das configure.ac angepasst.
Der komplette ImageBuildvorgang läuft auch durch nur loadsupport wird nicht erstellt.
Ich will das Programm so wie von der englischen Fraktion ursprünglich angedacht, dazu nutzen um mit Hilfe der ide.conf die IDE-Treiber zu starten.
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
neuer entwurf hdd menü:
- swap fest auf part1 mit 128MB
- swap kann aktiv/inaktiv gesetzt werden
- über das hauptmenü wird nur part1(swap) und part2(daten) eingerichtet
- über das untermenü können bis zu 3 partitionen angelegt werden (optional)
- jede partition kann ein anderes filesystem haben
- jede partition kann aktiv/inaktiv gesetzt werden
- umount über alle /proc/mounts mit ide device
- mount entweder über formating.end/hddcheck.end scripts (wenn vorhanden) oder über festen mountpoint /hdd
- HDD an target0/target1 verwendbar (Master/Slave)
ein beispiel für rcS, mount script etc steht im kopf der cpp
in der locale können noch überflüssige (test)zeilen sein
hdd_menu_source
Feedback wäre prima
regards
Innu
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
machbar ist alles (irgendwie), aber das ide if ist imho nicht für 2 platten ausgelegt (halteblech, ide kabel, netzteil) - wer so eine modifikation hat oder haben möchte, kann sich das menü entsprechend anpassen.PauleFoul hat geschrieben:Schön wäre aber auch wenn man eine 2te Platte einrichten könnte und den Swapbereich auswählen könnte (Master/Slave).
ich bin der meinung, dass wir einen basis hier erstellen können, diverse anpassungen kann ja dann wieder jeder selber für sich machen. ob als basis überhaupt mehrere partitionen sein müssen, ist auch fraglich. für verschiedene aufnahmetests (filesystem, swap on/off etc) bietet der entwurf nun viele möglichkeiten zum rumspielen.
innu
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
Es geht ja nicht darum 2 Festplatten anzuschließen, sondern um einenInnuendo hat geschrieben:machbar ist alles (irgendwie), aber das ide if ist imho nicht für 2 platten ausgelegt (halteblech, ide kabel, netzteil) - wer so eine modifikation hat oder haben möchte, kann sich das menü entsprechend anpassen.PauleFoul hat geschrieben:Schön wäre aber auch wenn man eine 2te Platte einrichten könnte und den Swapbereich auswählen könnte (Master/Slave).
ich bin der meinung, dass wir einen basis hier erstellen können, diverse anpassungen kann ja dann wieder jeder selber für sich machen. ob als basis überhaupt mehrere partitionen sein müssen, ist auch fraglich. für verschiedene aufnahmetests (filesystem, swap on/off etc) bietet der entwurf nun viele möglichkeiten zum rumspielen.
innu
zusätzlichen IDE-Flashspeicher in den man dann den SWAP auslagern
könnte.
Ist aber nur eine Idee/Anregung gewesen. Natürlich obligt es Dir zu
entscheiden was in das Menü rein kommt...
Gruß
____Paule
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
edit
1.)kann mich mal einer aufklären, für was noch die dateien da sind ??
/var/etc/opt_dboxide
/var/etc/opt_hdparm
/var/etc/.start_ide(die ist mir klar, die startet das start.ide script)
/var/etc/.ext3
/var/etc/.ext2
/var/etc/.xfs
/var/etc/.swap
/var/etc/.hddpart2 - 4
/var/etc/.samba(die ist mir auch klar, die startet das samba.server script)
/var/etc/.nfsd(die ist mir auch klar, die startet das nfs.server script)
/tmp/opt_hdformat
müssen die ganzen dateien sein?? wenn man schon eine config hat, wo alles schön reingehört zumindest die filesysteme sollten da rein.
filesystem=0 bis 2 = ext2 bis xfs
2.)das mit dem swap versteh ich nicht als langjähriger windowsnutzer
muss ich den eintrag aus der fstab rausnehmen ??
hab grad den hddcheck gestartet
1.)kann mich mal einer aufklären, für was noch die dateien da sind ??
/var/etc/opt_dboxide
/var/etc/opt_hdparm
/var/etc/.start_ide(die ist mir klar, die startet das start.ide script)
/var/etc/.ext3
/var/etc/.ext2
/var/etc/.xfs
/var/etc/.swap
/var/etc/.hddpart2 - 4
/var/etc/.samba(die ist mir auch klar, die startet das samba.server script)
/var/etc/.nfsd(die ist mir auch klar, die startet das nfs.server script)
/tmp/opt_hdformat
müssen die ganzen dateien sein?? wenn man schon eine config hat, wo alles schön reingehört zumindest die filesysteme sollten da rein.
filesystem=0 bis 2 = ext2 bis xfs
2.)das mit dem swap versteh ich nicht als langjähriger windowsnutzer
muss ich den eintrag aus der fstab rausnehmen ??
Code: Alles auswählen
/dev/ide/host0/bus0/target0/lun0/part1 swap swap noauto 0 0
Harddisk Menu 2007-04-06 Innuendo V0.25
[neutrino ide] found mountpoint /hdd
[neutrino ide] unmount /hdd
[neutrino ide] swapoff successful
[neutrino ide] file /var/tuxbox/config/hddcheck.start was not found - create if needed
Phase 1 - find and verify superblock...
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0xf0/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0xf0/0)
__alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0xf0/0)
__alloc_pages: 0-order allocation failed (gfp=0xf0/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
VM: killing process xfs_repair
Killed
Killed
[neutrino ide] HDD check failed
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
/var/etc/opt_dboxide == hier steht nur irq= drin, wird beim laden des treibers mit cat verwendet
/var/etc/opt_hdparm == hier stehen die hdparm settings drin - auch beim start per cat
/var/etc/.start_ide(die ist mir klar, die startet das start.ide script)
/var/etc/.ext3 == alt und kann wech
/var/etc/.ext2 == alt und kann wech
/var/etc/.xfs == alt und kann wech
/var/etc/.swap == swap on/off
/var/etc/.hddpart2 - 4 == hier steht das filesystem und device drin, per cat beim systemstart
/var/etc/.samba(die ist mir auch klar, die startet das samba.server script)
/var/etc/.nfsd(die ist mir auch klar, die startet das nfs.server script)
/tmp/opt_hdformat == temp datei für sfdisk. wird nach dem formatieren gelöscht
beispiele für cat stehen in der cpp datei - so bleibt es flexibel und es kann ich jede config übernommen werden.
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
VM: killing process xfs_repair
Killed
Killed
[neutrino ide] HDD check failed
erstell mal die xfs tools neu - sieht für mich nach einer fehlerhaften xfs_repair aus - zumindest hab ich im menü nirgends ein mem alloc
Innu
/var/etc/opt_hdparm == hier stehen die hdparm settings drin - auch beim start per cat
/var/etc/.start_ide(die ist mir klar, die startet das start.ide script)
/var/etc/.ext3 == alt und kann wech
/var/etc/.ext2 == alt und kann wech
/var/etc/.xfs == alt und kann wech
/var/etc/.swap == swap on/off
/var/etc/.hddpart2 - 4 == hier steht das filesystem und device drin, per cat beim systemstart
/var/etc/.samba(die ist mir auch klar, die startet das samba.server script)
/var/etc/.nfsd(die ist mir auch klar, die startet das nfs.server script)
/tmp/opt_hdformat == temp datei für sfdisk. wird nach dem formatieren gelöscht
beispiele für cat stehen in der cpp datei - so bleibt es flexibel und es kann ich jede config übernommen werden.
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
__alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
VM: killing process xfs_repair
Killed
Killed
[neutrino ide] HDD check failed
erstell mal die xfs tools neu - sieht für mich nach einer fehlerhaften xfs_repair aus - zumindest hab ich im menü nirgends ein mem alloc
Innu
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
wäre es nicht besser, diese ganzen cat geschichten aus dem scripten zu entfernen ??
ich denke, es gehört alles in die config, und nicht überall verstreut im image rumliegen.
wenn man mal ein neues image draufbraten muss(was bei mir immer mal passiert weils fehler gibt) dann braucht man nicht umständlich erst alle dateien wieder neu zu touchen, sondern schmeist die config rein, und alles geht wieder.
die einzige datei die getoucht werden sollte, und das auch bleiben sollte ist die .start_ide.
welche init_ide benutzt du ?
ich denke, es gehört alles in die config, und nicht überall verstreut im image rumliegen.
wenn man mal ein neues image draufbraten muss(was bei mir immer mal passiert weils fehler gibt) dann braucht man nicht umständlich erst alle dateien wieder neu zu touchen, sondern schmeist die config rein, und alles geht wieder.
die einzige datei die getoucht werden sollte, und das auch bleiben sollte ist die .start_ide.
welche init_ide benutzt du ?
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
mit cat übertrage ich doch den inhalt der datei. wie willst du sonst beim starten wissen, mit welchen dateisystem eine partition gemounted werden soll?
in meiner .hddpart2 steht z.b.: xfs /dev/ide/host0/bus0/target0/lun0/part2
mein start script dazu passend:
if [ -e /var/etc/.hddpart2 ] ; then
mount -t $(cat /var/etc/.hddpart2 2>/dev/null) /movies
fi
also wird ausgeführt: mount -t xfs /dev/ide/host0/bus0/target0/lun0/part2 /movies
ich halte das so für sehr flexibel und simpel(!) in irgendeinem image einzubauen.
ich vermute, das deine idee mit grep ide.conf auslesen ist - läßt sich sicher auch übersichtlich machen.
versteht meinen krams hier nur als entwurf oder vorschlag. mit sicherheit kann ein c/c++ profi auch den quellcode viel besser/schöner/übersichtlicher/etc machen. mit dem krams oben haben wir aber wenigstens mal eine diskussionsgrundlage.
im source oben sind auch noch zwei typofehler. außerdem habe ich das untermenü erweitert:
innu
in meiner .hddpart2 steht z.b.: xfs /dev/ide/host0/bus0/target0/lun0/part2
mein start script dazu passend:
if [ -e /var/etc/.hddpart2 ] ; then
mount -t $(cat /var/etc/.hddpart2 2>/dev/null) /movies
fi
also wird ausgeführt: mount -t xfs /dev/ide/host0/bus0/target0/lun0/part2 /movies
ich halte das so für sehr flexibel und simpel(!) in irgendeinem image einzubauen.
ich vermute, das deine idee mit grep ide.conf auslesen ist - läßt sich sicher auch übersichtlich machen.
versteht meinen krams hier nur als entwurf oder vorschlag. mit sicherheit kann ein c/c++ profi auch den quellcode viel besser/schöner/übersichtlicher/etc machen. mit dem krams oben haben wir aber wenigstens mal eine diskussionsgrundlage.
im source oben sind auch noch zwei typofehler. außerdem habe ich das untermenü erweitert:
innu
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41
Zum Auslesen der Config Files möchte ich nochmal auf folgenden Ansatz verweisen:http://tuxbox-forum.dreambox-fan.de/for ... hp?t=44944
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
ein extra binary, dass systemcalls ausführt, halte ich für überflüssig.
innu
Code: Alles auswählen
#!/bin/sh
# rcS Stand 2006-11-15
/bin/mount -n -t proc proc /proc
/bin/mount -t jffs2 /dev/mtdblock/3 /var
/bin/mount -n -t tmpfs tmpfs /tmp
# Pfad zu insmod und den Modules festlegen
export INSMOD="/sbin/insmod"
export MODDIR="/lib/modules/"$(uname -r)"/misc"
# Pfade setzen
export PATH=/var/bin:/sbin:/bin:/var/plugins
# Zeitformat setzen
if [ -e /var/etc/profile.local ]; then
. /var/etc/profile.local
else
. /etc/profile
fi
/bin/date -s 010101001970
# Lade MMC Treiber und mounten
if [ -e /var/etc/.mmc1 ]; then
. /var/tuxbox/config/mmc_mount.sh &
fi
# Lade IDE Treiber und mounten
if [ -e /var/etc/.start_ide ]; then
. /var/tuxbox/config/ide_mount.sh &
fi
....
Code: Alles auswählen
#!/bin/sh
# ide_mount.sh Stand 2007-04-08
insmod ide-core
insmod dboxide $(cat /var/etc/opt_dboxide 2>/dev/null)
insmod ide-detect
insmod ide-disk
# wenn fs nicht im kernel enthalten
#insmod xfs.o
#insmod ext2.o
#insmod jbd.o
#insmod ext3.o
if [ -e /var/etc/.hddpart1 ] ; then
/sbin/swapon $(cat /var/etc/.hddpart1 2>/dev/null) && /bin/mount -n -t tmpfs tmpfs /tmp -o size=128M,remount
fi
if [ -e /var/etc/.hddpart2 ] ; then
mount -t $(cat /var/etc/.hddpart2 2>/dev/null) /movies
fi
if [ -e /var/etc/.hddpart3 ] ; then
mount -t $(cat /var/etc/.hddpart3 2>/dev/null) /pictures
fi
if [ -e /var/etc/.hddpart4 ] ; then
mount -t $(cat /var/etc/.hddpart4 2>/dev/null) /epg
fi
if [ -e /var/etc/opt_hdparm ] ; then
hdparm $(cat /var/etc/opt_hdparm 2>/dev/null) /dev/ide/host0/bus0/target0/lun0/disc
fi
exit 0
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
so dann häng ich mal meinen senf dazu an
hab mal bisserl gescriptet
für die rcs
und die init.ide
und in der start_neutrino noch das samba/nfs zeugs
fertig.
somit sind keine anderen getouchten dateien mehr notwendig.
hab mal bisserl gescriptet
für die rcs
Code: Alles auswählen
....
IDE_CONF="/var/tuxbox/config/ide.conf"
IDEMODE=`grep "^IDEMODE=" $IDE_CONF | cut -d '=' -f 2`
....
if [ ! $IDEMODE -eq 0 ]; then
/var/etc/init.d/init.ide &
fi
....
Code: Alles auswählen
#!/bin/sh
IDE_CONF="/var/tuxbox/config/ide.conf"
IDEMODE=`grep "^IDEMODE=" $IDE_CONF | cut -d '=' -f 2`
TARGET=`grep "^TARGET=" $IDE_CONF | cut -d '=' -f 2`
SLEEPTIME=`grep "^SLEEPTIME=" $IDE_CONF | cut -d '=' -f 2`
HDDCACHE=`grep "^HDDCACHE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION1_ACTIVE=`grep "^PARTITION1_ACTIVE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION1_SIZE=`grep "^PARTITION1_SIZE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION2_ACTIVE=`grep "^PARTITION2_ACTIVE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION2_SIZE=`grep "^PARTITION2_SIZE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION2_HDDFS=`grep "^PARTITION2_HDDFS=" $IDE_CONF | cut -d '=' -f 2`
PARTITION3_ACTIVE=`grep "^PARTITION3_ACTIVE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION3_SIZE=`grep "^PARTITION3_SIZE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION3_HDDFS=`grep "^PARTITION3_HDDFS=" $IDE_CONF | cut -d '=' -f 2`
PARTITION4_ACTIVE=`grep "^PARTITION4_ACTIVE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION4_SIZE=`grep "^PARTITION4_SIZE=" $IDE_CONF | cut -d '=' -f 2`
PARTITION4_HDDFS=`grep "^PARTITION4_HDDFS=" $IDE_CONF | cut -d '=' -f 2`
export IM="/sbin/insmod"
# IDE Treiber Laden
$IM -f $DIR/ide-core.o
# interrupt= ? / 0=original IRQ / 1oder2=IRQ6
if [ ! $IDEMODE -eq 2 ]; then
$IM -f dboxide.o IRQ6=0
else
$IM -f dboxide.o IRQ6=1
fi
$IM -f ide-detect.o
$IM -f ide-disk.o
# SWAP mounten Part1
echo "Now initializing the Part1 (swap) partition."
if [ $PARTITION1_ACTIVE -eq 1 ]; then
swapon /dev/ide/host0/bus0/target$TARGET/lun0/part1 && mount -n -t tmpfs tmpfs /tmp -o size="$PARTITION1_SIZE"M,remount
fi
# Datenpartition mounten Part2
if [ $PARTITION2_ACTIVE -eq 1 ]; then
if [ $PARTITION2_HDDFS -eq 0 ]; then
$IM xfs.o
mount -t xfs /dev/ide/host0/bus0/target$TARGET/lun0/part2 /hdd
echo "Now initializing the Part2 partition."
else if [ $PARTITION2_HDDFS -eq 1 ]; then
$IM ext3.o
mount -t ext3 /dev/ide/host0/bus0/target$TARGET/lun0/part2 /hdd
echo "Now initializing the Part2 partition."
else
$IM ext2.o
mount -t ext2 /dev/ide/host0/bus0/target$TARGET/lun0/part2 /hdd
echo "Now initializing the Part2 partition."
fi
fi
fi
# Datenpartition mounten Part3
if [ $PARTITION3_ACTIVE -eq 1 ]; then
if [ $PARTITION3_HDDFS -eq 0 ]; then
$IM xfs.o
mount -t xfs /dev/ide/host0/bus0/target$TARGET/lun0/part3 /hdd
echo "Now initializing the Part2 partition."
else if [ $PARTITION3_HDDFS -eq 1 ]; then
$IM ext3.o
mount -t ext3 /dev/ide/host0/bus0/target$TARGET/lun0/part3 /hdd
echo "Now initializing the Part2 partition."
else
$IM ext2.o
mount -t ext2 /dev/ide/host0/bus0/target$TARGET/lun0/part3 /hdd
echo "Now initializing the Part2 partition."
fi
fi
fi
# Datenpartition mounten Part4
if [ $PARTITION4_ACTIVE -eq 1 ]; then
if [ $PARTITION4_HDDFS -eq 0 ]; then
$IM xfs.o
mount -t xfs /dev/ide/host0/bus0/target$TARGET/lun0/part4 /hdd
echo "Now initializing the Part2 partition."
else if [ $PARTITION4_HDDFS -eq 1 ]; then
$IM ext3.o
mount -t ext3 /dev/ide/host0/bus0/target$TARGET/lun0/part4 /hdd
echo "Now initializing the Part2 partition."
else
$IM ext2.o
mount -t ext2 /dev/ide/host0/bus0/target$TARGET/lun0/part4 /hdd
echo "Now initializing the Part2 partition."
fi
fi
fi
hdparm -S $SLEEPTIME -W $HDDCACHE /dev/ide/host0/bus0/target$TARGET/lun0/disc
exit 0
Code: Alles auswählen
...
IDE_CONF="/var/tuxbox/config/ide.conf"
SAMBA=`grep "^SAMBA=" $IDE_CONF | cut -d '=' -f 2`
NFS=`grep "^NFS=" $IDE_CONF | cut -d '=' -f 2`
...
if [ $SAMBA -eq 1 ]; then
if [ -e /var/bin/nmbd ]; then
/var/bin/nmbd -D &
else
echo "/var/bin/nmbd nicht vorhanden!"
fi
if [ -e /var/bin/smbd ]; then
/var/bin/smbd -D &
else
echo "/var/bin/smbd nicht vorhanden!"
fi
echo "Samba Daemon gestartet"
fi
...
if [ $NFS -eq 1 ]; then
if [ ! -e /var/etc/exports ]; then
echo "# Diese datei bestimmt das filesytem fuer den export\n# Clienten, die berechtigt sind darauf zuzugreifen.\n\n/hdd *(rw,no_root_squash,sync)\n/var *(rw,sync)" > /var/etc/exports
fi
if [ ! -e /var/lib/nfs ]; then
mkdir /var/lib/nfs
fi
insmod /var/bin/nfsd.o
pidof portmap >/dev/null | /var/bin/portmap -d
/var/bin/exportfs -r
/var/bin/rpc.mountd
/var/bin/rpc.nfsd 3
fi
...
somit sind keine anderen getouchten dateien mehr notwendig.
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
die grep lösung sieht zwar schön aus, aber ich sehe darin keinen vorteil. aber es kann ja jeder sein system nach belieben einrichten. wer keine markerfiles haben möchte, kann ja den quellcode entsprechend anpassen.
habe den download link oben aktualisiert.
neu: einzelene partition format und check
Innu
habe den download link oben aktualisiert.
neu: einzelene partition format und check
Innu
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
ich hab grad mal ein neues gebacken.
soweit so schön. wenn ich swap deaktiviere, kommt beim neu formatieren das
Harddisk Menu 2007-04-09 Innuendo V0.26
nochwas gefunden.
wenn swap aus, und dann partitioniert,formatiert wird nicht gemountet.
wenn swap ein, dann gehts wunderbar.
und nochwas gefunden.
der HDD Check geht irgendwie schief.
die hddcheck.end wird da dann nicht mehr abgearbeitet(ist klar)wegen segfault.
Edit der HDD check im hautptmenü geht nur nicht. die einzelnen partitions-checks gehen wunderbar.
nur wird dort auch nicht die hddcheck.end abgearbeitet.
langsam wird das immer besser
soweit so schön. wenn ich swap deaktiviere, kommt beim neu formatieren das
Harddisk Menu 2007-04-09 Innuendo V0.26
also swap wird trotsdem wioeder angelegtOld situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/ide/host0/bus0/target0/lun0/part1 0+ 16 17- 136552 82 Linux swap / Solaris
/dev/ide/host0/bus0/target0/lun0/part2 17 9732 9716 78043770 83 Linux
/dev/ide/host0/bus0/target0/lun0/part3 0 - 0 0 0 Empty
/dev/ide/host0/bus0/target0/lun0/part4 0 - 0 0 0 Empty
New situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/ide/host0/bus0/target0/lun0/part1 0+ 16 17- 136552 82 Linux swap / Solaris
/dev/ide/host0/bus0/target0/lun0/part2 17 9732 9716 78043770 83 Linux
/dev/ide/host0/bus0/target0/lun0/part3 0 - 0 0 0 Empty
/dev/ide/host0/bus0/target0/lun0/part4 0 - 0 0 0 Empty
Successfully wrote the new partition table
Re-reading the partition table ...
/dev/ide/host0/bus0/target0/lun0: p1 p2
nochwas gefunden.
wenn swap aus, und dann partitioniert,formatiert wird nicht gemountet.
wenn swap ein, dann gehts wunderbar.
und nochwas gefunden.
der HDD Check geht irgendwie schief.
Code: Alles auswählen
Harddisk Menu 2007-04-09 Innuendo V0.26
[neutrino ide] found mountpoint /hdd
[neutrino ide] unmount /hdd
[neutrino ide] swapoff successful
[neutrino ide] executing /var/tuxbox/config/hddcheck.start
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
zero_log: head block 4 tail block 4
- scan filesystem freespace and inode maps...
Segmentation fault
[neutrino ide] HDD check failed
Edit der HDD check im hautptmenü geht nur nicht. die einzelnen partitions-checks gehen wunderbar.
Code: Alles auswählen
Harddisk Menu 2007-04-09 Innuendo V0.26
[neutrino ide] found mountpoint /hdd
[neutrino ide] unmount /hdd
[neutrino ide] swapoff successful
[neutrino ide] executing /var/tuxbox/config/hddcheck.start
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
zero_log: head block 4 tail block 4
- scan filesystem freespace and inode maps...
- found root inode chunk
libxfs_bcache: 0x10095098
Max supported entries = 524288
Max utilized entries = 112
Active entries = 112
Hash table size = 65536
Hits = 96
Misses = 114
Hit ratio = 45.00
Hash buckets with 0 entries 65424 ( 0%)
Hash buckets with 1 entries 112 (100%)
Tue Apr 10 16:48:23 2007
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
- agno = 9
- agno = 10
- agno = 11
- agno = 12
- agno = 13
- agno = 14
- agno = 15
- process newly discovered inodes...
libxfs_bcache: 0x10095098
Max supported entries = 524288
Max utilized entries = 113
Active entries = 113
Hash table size = 65536
Hits = 114
Misses = 115
Hit ratio = 49.00
Hash buckets with 0 entries 65423 ( 0%)
Hash buckets with 1 entries 113 (100%)
Tue Apr 10 16:48:25 2007
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- clear lost+found (if it exists) ...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
- agno = 9
- agno = 10
- agno = 11
- agno = 12
- agno = 13
- agno = 14
- agno = 15
libxfs_bcache: 0x10095098
Max supported entries = 524288
Max utilized entries = 113
Active entries = 113
Hash table size = 65536
Hits = 117
Misses = 115
Hit ratio = 50.00
Hash buckets with 0 entries 65423 ( 0%)
Hash buckets with 1 entries 113 (100%)
Tue Apr 10 16:48:28 2007
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- ensuring existence of lost+found directory
- traversing filesystem starting at / ...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
- agno = 9
- agno = 10
- agno = 11
- agno = 12
- agno = 13
- agno = 14
- agno = 15
- traversal finished ...
- traversing all unattached subtrees ...
- traversals finished ...
- moving disconnected inodes to lost+found ...
libxfs_icache: 0x10095038
Max supported entries = 524288
Max utilized entries = 4
Active entries = 4
Hash table size = 65536
Hits = 1
Misses = 4
Hit ratio = 20.00
Hash buckets with 0 entries 65532 ( 0%)
Hash buckets with 1 entries 4 (100%)
libxfs_bcache: 0x10095098
Max supported entries = 524288
Max utilized entries = 113
Active entries = 82
Hash table size = 65536
Hits = 125
Misses = 197
Hit ratio = 38.00
Hash buckets with 0 entries 65454 ( 0%)
Hash buckets with 1 entries 82 (100%)
Tue Apr 10 16:48:47 2007
Phase 7 - verify and correct link counts...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
- agno = 9
- agno = 10
- agno = 11
- agno = 12
- agno = 13
- agno = 14
- agno = 15
libxfs_icache: 0x10095038
Max supported entries = 524288
Max utilized entries = 4
Active entries = 4
Hash table size = 65536
Hits = 1
Misses = 4
Hit ratio = 20.00
Hash buckets with 0 entries 65532 ( 0%)
Hash buckets with 1 entries 4 (100%)
libxfs_bcache: 0x10095098
Max supported entries = 524288
Max utilized entries = 113
Active entries = 1
Hash table size = 65536
Hits = 126
Misses = 198
Hit ratio = 38.00
Hash buckets with 0 entries 65535 ( 0%)
Hash buckets with 1 entries 1 (100%)
Tue Apr 10 16:48:48 2007
done
XFS mounting filesystem ide0(3,2)
[neutrino ide] mount /hdd successful
Adding Swap: 136544k swap-space (priority -2)
[neutrino ide] swapon successful
Harddisk Menu 2007-04-09 Innuendo V0.26
langsam wird das immer besser
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
in der funktion
bool IdeConfWidget::Check(int dev)
ist ein copy und paste fehler :)deswegen geht das hddcheck.end script nicht.
muss so heissen
ich suche weiter
bool IdeConfWidget::Check(int dev)
ist ein copy und paste fehler :)deswegen geht das hddcheck.end script nicht.
Code: Alles auswählen
if(access(NEUTRINO_HDDFORMAT_END_SCRIPT, R_OK) == 0)
execute_script(NEUTRINO_HDDCHECK_END_SCRIPT);
Code: Alles auswählen
if(access(NEUTRINO_HDDCHECK_END_SCRIPT, R_OK) == 0)
execute_script(NEUTRINO_HDDCHECK_END_SCRIPT);
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
das ist so gewollt ;-)mb405 hat geschrieben:also swap wird trotsdem wioeder angelegt
nochwas gefunden.
wenn swap aus, und dann partitioniert,formatiert wird nicht gemountet.
wenn swap ein, dann gehts wunderbar.
also ...
Swap off == Part1 wird mit mkswap eingerichtet, aber nicht aktiv gesetzt
Swap on == Part1 wird mit mkswap eingerichtet und aktiv gesetzt
(/var/etc/.hddpartition1_active)
1. alle Festplatten haben viele GB Speicher - da kommt es auf 128MB nicht an
2. mehr als 128MB Swap ist überflüssig (max Speicher DBox imho 64MB)
3. Wenn ich immer ein part1 für swap einrichte (egal ob aktiv oder inaktiv), dann ist folglich die erste Datenpartition immer part2 - das erleichtert jegliches mounten per script.
4. Mal mit und mal ohne Swap die Dbox starten/testen etc geht auf diesem Wege sehr einfach.
huch - setzen, sechs!mb405 hat geschrieben: und nochwas gefunden.
der HDD Check geht irgendwie schief.
Segmentation fault
schau ich mir heut abend mal an.
Innu