Menüfür IDE-Configuration
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41
Ich bastle nun schon 2 Tage am IDE-Menü und stosse als c++ Neuling an meine Grenzen:
Ich will das Filesystem für IDE im IDE-Menü auswählbar machen, also entweder ext2, ext3 oder xfs. Das Ganze will ich wie schon weiter oben geschrieben über flags im /var/etc realisieren. Die Auswahl soll aber nicht über den bekannten ein/aus-Schalter erfolgen, sondern über ein Auswahlmenü wie bei der "Expert"Boot-Console". Kann mir da jemand helfen wie ich das realisieren kann?
Wo wird die swap-Partition in die fstab eingefügt? In cdk/make/flashable-dirs.mk hab ichs nicht gefunden.
Ich will das Filesystem für IDE im IDE-Menü auswählbar machen, also entweder ext2, ext3 oder xfs. Das Ganze will ich wie schon weiter oben geschrieben über flags im /var/etc realisieren. Die Auswahl soll aber nicht über den bekannten ein/aus-Schalter erfolgen, sondern über ein Auswahlmenü wie bei der "Expert"Boot-Console". Kann mir da jemand helfen wie ich das realisieren kann?
Wo wird die swap-Partition in die fstab eingefügt? In cdk/make/flashable-dirs.mk hab ichs nicht gefunden.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
auswahlmenü mit den filesystem finde ich nicht nötig, da du ja bei wechsel von ext2/3 auf xfs eh deine platte neu formatieren musst.
so wie es im jtg ist, ist es perfekt.
ide unterstützung ja/nein
ansonsten kannst du schön ansehen wie es gemacht wird in dem einchecken von der lautstärkekalkenverschiebung ins cvs neutrino.cpp.
ein codeschnippsel davon
so wie es im jtg ist, ist es perfekt.
ide unterstützung ja/nein
ansonsten kannst du schön ansehen wie es gemacht wird in dem einchecken von der lautstärkekalkenverschiebung ins cvs neutrino.cpp.
ein codeschnippsel davon
Code: Alles auswählen
#define OSD_STATUS_OPTIONS_COUNT 3
const CMenuOptionChooser::keyval OSD_STATUS_OPTIONS[OSD_STATUS_OPTIONS_COUNT] =
{
{ 0, LOCALE_COLORMENU_OSD_NORMAL },
{ 1, LOCALE_COLORMENU_OSD_BOTTOM },
{ 2, LOCALE_COLORMENU_OSD_OFF }
};
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41
Ich will aber nicht jedes mal wenn ich ein neues Image einspiele, die Platte neu formatieren. Daher sollte man wählen können wie die Platte bereits formatiert ist.mb405 hat geschrieben:auswahlmenü mit den filesystem finde ich nicht nötig, da du ja bei wechsel von ext2/3 auf xfs eh deine platte neu formatieren musst.
Genau nach dieser Methode wollte ich das auch machen, der Menueintrag dafür ist fertig.mb405 hat geschrieben:ansonsten kannst du schön ansehen wie es gemacht wird in dem einchecken von der lautstärkekalkenverschiebung ins cvs neutrino.cpp.
ein codeschnippsel davonCode: Alles auswählen
#define OSD_STATUS_OPTIONS_COUNT 3 const CMenuOptionChooser::keyval OSD_STATUS_OPTIONS[OSD_STATUS_OPTIONS_COUNT] = { { 0, LOCALE_COLORMENU_OSD_NORMAL }, { 1, LOCALE_COLORMENU_OSD_BOTTOM }, { 2, LOCALE_COLORMENU_OSD_OFF } };
Code: Alles auswählen
#define IDE_SETTING_FILESYSTEM_OPTION_COUNT 3
const CMenuOptionChooser::keyval IDE_SETTING_FILESYSTEM_OPTIONS[IDE_SETTING_FILESYSTEM_OPTION_COUNT] =
{
{ 0, LOCALE_OPTIONS_EXT2 },
{ 1, LOCALE_OPTIONS_EXT3 },
{ 2, LOCALE_OPTIONS_XFS }
};
.
.
driverSettingsIDE.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_IDEMENU_FS, &g_settings.ide_fs_switch, IDE_SETTING_FILESYSTEM_OPTIONS, IDE_SETTINGS_FILESYSTEM_OPTION_COUNT, true, ConsoleDestinationChanger));
- ist ein flag da, wenn ja welches?
- wurde die Option geändert; muss das alte gelöscht, das neue geschrieben werden.
Alternativ dazu habe ich mir überlegt das man eine Datei ide.conf erstellen könnte in der alle Einstellenungen (Swap/Filesystem/HDD-Cache ...) hintelegt werden. So ähnlich wie die boot.conf.
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
tach auch
ich habe das so gemacht:
ich habe das so gemacht:
Code: Alles auswählen
#define OPTIONS_IDE_FS_COUNT 3
const CMenuOptionChooser::keyval OPTIONS_IDE_FS[OPTIONS_IDE_FS_COUNT] =
{
{ 0, LOCALE_HDDSETTINGS_HDD_FS_XFS },
{ 1, LOCALE_HDDSETTINGS_HDD_FS_EXT3 },
{ 2, LOCALE_HDDSETTINGS_HDD_FS_EXT2 }
};
void IdeConfWidget::getMountpoint(int dev)
{
FILE *f=fopen("/proc/mounts", "rb");
if (!f)
return;
int c=!!(dev&1);
char line[1024];
char path[30];
sprintf(path, "/dev/ide/host0/bus0/target%d/lun0/",c);
int pathsize=sizeof(path);
while (1)
{
if (!fgets(line, 1024, f))
{
sprintf(mountpoint, "/hdd");
printf("[neutrino ide] /proc/mounts missing or mountpoint not found\n");
printf("[neutrino ide] Set mountpoint to default: %s\n", mountpoint );
break;
}
if (!strncmp(line, path, pathsize ) )
{
char dummy[30];
sscanf(line, "%s %s %s", (char*) &dummy, (char*) &mountpoint, (char*) &dummy);
fclose(f);
return;
}
}
}
bool IdeConfWidget::Mounting()
{
std::string cmdmount = ( (g_settings.hddfs==0) ? "mount -t xfs" : ( (g_settings.hddfs == 1 ) ? "mount -t ext3" : "mount -t ext2") );
cmdmount += " ";
cmdmount += ( (g_settings.swap==0) ? HDDPART1 : HDDPART2 );
cmdmount += " ";
cmdmount += mountpoint;
int res = system (cmdmount.c_str() );
if ( res !=0)
printf("[neutrino ide] mount %s failed\n", mountpoint);
if (g_settings.swap != 0)
{
res = system(SWAPON);
if ( res !=0)
printf("[neutrino ide] swapon failed\n");
}
if (g_settings.samba == 1)
{
system("/bin/nmbd");
system("/bin/smbd -D -s /etc/smb.conf");
}
return res;
}
bool IdeConfWidget::Umounting()
{
int res = umount(mountpoint);
if (res != 0)
{
res = umount(mountpoint);
if (res != 0)
printf("[neutrino ide] cannot umount: %s\n", mountpoint);
}
if (g_settings.swap != 0)
{
res = system(SWAPOFF);
if (res !=0 )
printf("[neutrino ide] swapoff failed\n");
}
if (g_settings.samba == 1)
system("killall -9 smbd nmbd");
// rmmod nfs deamon ???
//if (g_settings.nfs == 1)
// system("killall -9 nfsd");
return res;
}
/*#######################*/
/* filesystem marker */
/*#######################*/
if(access("/var/etc/.ext3", R_OK) == 0)
unlink("/var/etc/.ext3");
if(access("/var/etc/.ext2", R_OK) == 0)
unlink("/var/etc/.ext2");
if(access("/var/etc/.xfs", R_OK) == 0)
unlink("/var/etc/.xfs");
if (g_settings.hddfs == 0)
{
markerfile = fopen("/var/etc/.xfs", "w");
fclose(markerfile);
}
if (g_settings.hddfs == 1)
{
markerfile = fopen("/var/etc/.ext3", "w");
fclose(markerfile);
}
if (g_settings.hddfs == 2)
{
markerfile = fopen("/var/etc/.ext2", "w");
fclose(markerfile);
}
scIDE->addItem(new CMenuOptionChooser(LOCALE_HDDSETTINGS_HDD_FS, &g_settings.hddfs, OPTIONS_IDE_FS, OPTIONS_IDE_FS_COUNT, true ));
-
- Semiprofi
- Beiträge: 1383
- Registriert: Freitag 18. April 2003, 15:12
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
kann man machen, muß man aber nicht. die freie auswahl für den user hat auch seine vorteile. wenn man sich das forum anschaut, welche einstellung für welche box die beste ist, variiert das ja genauso, wie alle anderen system settings.Nico 77 hat geschrieben:Solltet euch vielleicht mal auf einen Standart einigen, ext oder xfs.
Enigma macht es vor...
Ps: NTFS ist nun auf Linux auch möglich.
ps: für ntfs kannst du mal einen overdrive prozessor entwerfen ;-)
-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41
Wichtiger wäre noch ob die IDE-Settings standartmäßig in einer z.B. ide.conf gespechert werden (das könnten dann ale GUIs nutzen, wenn sie wollen) - wie von den UK-Leuten vorgeschlagen oder weiterhin per /var/etc/.swap, .ext2 etc.Nico 77 hat geschrieben:Solltet euch vielleicht mal auf einen Standart einigen, ext oder xfs.
Enigma macht es vor...
Ps: NTFS ist nun auf Linux auch möglich.
Zumindet sollte man gemeinsam in eine Richtung entwickeln.
Für mich persönlich ist die conf-Version die sauberere Lösung.
Andererseits ist die Entwicklung von Innuendo schon recht weit vorgeschritten...
-
- Erleuchteter
- Beiträge: 710
- Registriert: Dienstag 3. September 2002, 12:54
genau, bitte nicht ein dateisystem zugunsten eines anderen rauswerfen!Innuendo hat geschrieben:kann man machen, muß man aber nicht. die freie auswahl für den user hat auch seine vorteile.Nico 77 hat geschrieben:Solltet euch vielleicht mal auf einen Standart einigen, ext oder xfs.
Enigma macht es vor...
Ps: NTFS ist nun auf Linux auch möglich.
p.s. war enigma jemals ein (gutes) vorbild für neutrino?

-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Keine gute Idee. Denn wenn man XFS nutzen will muss man die Platte sofern man sie am PC auslesen will eh dort formatieren da sie sonst nicht lesbar ist.Nico 77 hat geschrieben:Solltet euch vielleicht mal auf einen Standart einigen, ext oder xfs.
Enigma macht es vor...
Ps: NTFS ist nun auf Linux auch möglich.
Daher kann es sinvoll sein lieber ext3 zu nehmen.
Ext3 hat aber den Nachteil etwas langsamer und CPU lastiger zu sein.
Gruß Gorcon
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
meine meinung
warum das fest in code "verdrahten" ? die scriptlösungen sind dafür besser, da schneller angepasst werden kann. nicht jeder kann kompilieren. einen editor hat jeder auf seinen system. auf die 2 getouchten dateien mehr kommt es nicht drauf an. eine ide.config dafür ist zwar nicht schlecht, aber was soll da alles rein ??
swap
filesystem
hdd spindown zeit
irq(?)
mehr kann ich nicht finden, was wichtig ist.
warum das fest in code "verdrahten" ? die scriptlösungen sind dafür besser, da schneller angepasst werden kann. nicht jeder kann kompilieren. einen editor hat jeder auf seinen system. auf die 2 getouchten dateien mehr kommt es nicht drauf an. eine ide.config dafür ist zwar nicht schlecht, aber was soll da alles rein ??
swap
filesystem
hdd spindown zeit
irq(?)
mehr kann ich nicht finden, was wichtig ist.
-
- Erleuchteter
- Beiträge: 797
- Registriert: Sonntag 19. Februar 2006, 01:17
..dem kann ich im Moment nur zustimmen mit ganz grossem ABER: die Qual der Wahl zwischen 3 Möglichkeiten ist nicht besonders prickelnd, oder? Die theoretischen Vor und Nachteile sind bekannt, aber wie stellt sich das in der Praxis mit dem IDE2-Interface und der schwachen oft überlasteten Box-CPU dar?Z80 hat geschrieben:genau, bitte nicht ein dateisystem zugunsten eines anderen rauswerfen!
Erfahrungen gibt es ja inzwischen und wenn ich mir die vielen diesbezüglichen Threads dazu(Performance/korruptes Filesystem/usw.) durchlese, denke ich dass es dringend eine kompetente, hier allgemein akzeptierte Empfehlung geben sollte...und die koennte/sollte imo spaeter in der Beschraenkung der komfortablen Unterstützung, nur eines FS liegen. Die Box soll doch in Verbindung mit dem IDE2-Interface ein digitaler VDR sein und keine atomschlagsichere Datenablage die auch noch mit groesstem Komfort administrierbar ist, oder?
just my 2c
-
- Erleuchteter
- Beiträge: 450
- Registriert: Sonntag 28. Juli 2002, 01:18
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41
Nein. Der Entwurf dafür ist ein anderer Thread: http://tuxbox-forum.dreambox-fan.de/for ... hp?t=44948
Hier kann/sollte es also auch um Grundsätzliches gehen.
Hier kann/sollte es also auch um Grundsätzliches gehen.
-
- Erleuchteter
- Beiträge: 797
- Registriert: Sonntag 19. Februar 2006, 01:17
..ja, Du hast Recht...kann der Admin/Mod ja nach Laberbacke verschieben. Der hier angedachte Entwurf wuerde sich allerdings ändern/vereinfachen wenn man sich für ein FS entscheiden könnte.AudioSlyer hat geschrieben:Könnt ihr das nicht in einem anderen Forum bequatschen? Hier soll der Entwurf unter die Lupe genommen werden und nicht was ist besser xfs oder ext!
-
- Einsteiger
- Beiträge: 105
- Registriert: Mittwoch 20. Oktober 2004, 12:41