Sinds enige tijd zijn DJGPP en FreePascal de nieuwe standaard ontwikkelomgevingen voor de informatica olympiade. Op zich zijn dit best goede omgevingen om mee te werken, maar vooral onder Windows hebben deze omgevingen veel moeite met stabiel zijn. Tenminste, zo is onze ervaring. C++ is vaak compleet onbruikbaar doordat de support voor lange bestandsnamen op de een of andere manier niet goed wil werken, en de stabiliteit van de RHIDE ontwikkelingomgeving is al helemaal vreselijk.
Bovendien zijn er natuurlijk gewoon steeds meer deelnemers die thuis een Linux doos hebben staan, misschien 'zelfs' zonder dat er nog een multiboot mogelijkheid is naar Windows. Die mensen hebben vaak een (al dan niet gezonde) allergie tegen Windows opgebouwd waardoor ze opeens helemaal niks meer kunnen coden, wat toch jammer is. (Okay, dit is lichtelijk overdreven uitgedrukt... ;-)
Nu zou je de universiteiten kunnen gaan vragen om ook een Linux installatie in de NIO Ghost-images te zetten, maar dat is soms toch net wat te veel gevraagd. Op zich ook wel begrijpelijk, vandaar dat wij er voor hebben gekozen zelf wat in elkaar te draaien. Om de universiteiten zo min mogelijk met extra werk op te zadelen hebben we Knoppix als basis gepakt. Die kan zichzelf compleet vanaf CD opstarten zonder dat er op de harde schijf wat gepartitioneerd of geïnstalleerd moet worden. CD'tje erin en starten maar. Het enige wat beheer voor je zou moeten regelen is dat de computer van die CD op wil starten.
NIOde is dus met name gericht op de mensen die al weten hoe Linux werkt en wat het is, maar er niet overal mee kunnen werken. Het systeem is dus redelijk kaal uitgerust qua klikmans tooltjes en sleur en pleur spul. Die boel draait toch lang niet allemaal op de meestal minder up-to-date machines waar we mee moeten werken en heeft voor programmeer werkzaamheden toch weinig toegevoegde waarde.
Uiteindelijk is het wel de bedoeling om van NIOde een wat meer gepolijste omgeving te maken die op de opgaven-CD's komt te staan zodat alle eerste ronde deelnemers er ook al thuis mee kunnen spelen. Ook als ze nog niet zo bekend zijn met Unix. Hoe we dit precies gaan invullen is nog niet bekend. Het was eerst de bedoeling XPde hiervoor te pakken, maar na een paar simpele tests is die al afgevallen. KDE is waarschijnlijk ook te groot, we zoeken naar andere suggesties.
Op mijn Athlon XP 1700+ draait het perfect. Op genoeg andere (en oudere) machines ook. Qua geheugen hoeft je systeem ook geen uitblinker te zijn. 64 MB RAM is genoeg om een X/SawFish omgeving in de lucht te krijgen, inclusief een op mooie snelheid draaiende FireBird browser.
Wat de minimum eisen precies zijn is niet vastgesteld. Maar een 233 MHz (x86-based, Apple/Alpha/Sparc kunnen we niet ondersteunen) systeem met 64 MB RAM lijkt mij een mooie ondergrens. En natuurlijk is een CD-ROM drive wel erg nuttig.
Qua andere hardware is het ook gauw goed. Vrijvel alle gangbare hedendaagse videokaarten werken goed. USB randapparatuur mag ook geen probleem zijn. De meeste netwerkkaarten moeten ook gewoon werken. (Zorg wel dat er een goede DHCP server op je netwerk draait, dat werkt toch stukken makkelijker)
Ook PCMCIA wordt goed ondersteund. Het enige niet goed ondersteunde wat we tot nu toe tegen zijn gekomen was een USB2 CardBus controller met daarop een CD-writer.
Simpel antwoord: Dat doe je niet.
Uitgebreid antwoord: NIOde draait direct vanaf CD, net zoals Knoppix. Installatie is dus niet erg zinvol. Echter, Knoppix heeft origineel wel een installatie-script wat ook nog steeds op NIOde staat. Dit script is niet helemaal up-to-date met de veranderingen die we hebben gemaakt, dus het werkt niet helemaal vlekkeloos. We hebben het script een keer getest en kregen een op zich goed werkende installatie, maar dan zonder goede netwerk-ondersteuning en met een kapotte X setup.
Als je echt Linux wil installeren, dan raden we je aan gewoon Debian te installeren of een van de vele andere Linux distributies. Mogelijk wordt NIOde volgend jaar wel installeerbaar.
Dit is bij About ook al behoorlijk toegelicht. Hier nog even een compleet overzicht met links naar de sites van de software, waar mogelijk:
Je kunt het natuurlijk gewoon hier downloaden. Maar als je daar geen zin (of Internet bandbreedte) in/voor hebt zijn er meer manieren.
Komend seizoen (2004/2005 dus) zal NIOde op de opgaven-CD's van de eerste ronde van de Informatica Olympiade staan. Zorg dus dat je zo'n CD via school te pakken krijgt!
Ook zal het Nederlandse team tijdens de komende IOI aan elk team een paar CD's uitdelen. Niet dat je daar als Nederlander veel aan zou hebben, maar goed. ;-)
Verder zal de CD mogelijk nog via onder andere de TU Eindhoven verspreid gaan worden. Details daarover zijn mij nog niet bekend, zodra ik daar meer over weet zal het hier komen te staan.
Dat Unix anders is dan Windows maakt het natuurlijk niet automatisch moeilijk! Maar goed, we hebben inderdaad flink zitten snoeien in het systeem waardoor wat mogelijk handige tools verdwenen zijn. Als je die tooltjes ook eens wilt proberen kan ik je van harte aanraden de echte Knoppix een keer uit te proberen. Het is een prachtig systeem, en het is werkelijk verbazingwekkend om te zien hoe veel bruikbare software er zo op één CD past. Inclusief wat meer programmatuur voor "muisgrage" mensen.
Tijdens het kijken van The Matrix Reloaded viel me de naam "Niobe" opeens op. De naam NIOde komt daar niet vandaan, het is slechts toeval. ;-)
Vroege versies van het systeem heetten (k)nioppix, wat dan weer wel van Knoppix afgeleid is. Omdat die naam toch een beetje raar klinkt zijn we uiteindelijk op NIOde (waar "de" voor development environment staat) gekomen.
Hopelijk. Als het systeem toch wat moeite lijkt te hebben met het detecteren van je hardware en specificaties (maximale resoluties, wheelmouses, rare toetsenborden) kun je nog wat hints opgeven bij het opstarten. Hier een overzicht van de in NIOde mogelijke opties: (Vertaling van http://www.knoppix.net/docs/index.php/CheatCodes)
De volgende opties kunnen meegegeven worden aan NIOde. Ze kunnen nuttig zijn als het autodetectieproces niet helemaal goede waarden teruggeeft of vastloopt. De opties horen in het volgende formaat gegeven te worden bij de syslinux prompt (als het NIOde logo verschijnt): kernelnaam opties. Om een normale sessie te starten met de Franse taal en een refresh rate van 60Hz zou ik het volgende intikken:
knoppix lang=fr xvrefresh=60
Hier de volledige lijst opties:
NIOde heeft ook verschillende kernels aan boord:
Misschien draai je nog een oude versie van het systeem? Je kunt nu je home directory op de harde schijf laten zetten, zo zouden je gegevens ook na een reboot bewaard moeten blijven. Dit wordt uiteraard alleen gedaan als je als gebruiker daar toestemming voor geeft.
Hiervoor heb je trouwens wel een IDE/SCSI harde schijf met een FAT16/32 of liever nog ext2 partitie nodig met genoeg vrije ruimte (op FAT minstens 16 MByte). Als je dat niet hebt zul je genoegen moeten nemen met een RAM-disk en zal alles wat je in je homedir zet na een reboot weer verdwijnen.
Let op, NTFS wordt dus (nog) niet ondersteund! Het is ons bekend dat sinds Windows XP dat bestandssysteem steeds meer voorkomt, maar er is momenteel gewoon nog geen betrouwbare driver voor Linux om NTFS-filesystems te lezen en te schrijven.
Dat kan natuurlijk altijd gebeuren, controleer eerst maar eens of je niet zelf een fout gemaakt hebt. Waar je tegenaan zou kunnen lopen is een G++ 3.x "probleem":
Jona~$ g++ peu.c++ -o peu peu.c++: In function `int main(int, char**)': peu.c++:5: error: `cout' undeclared (first use this function) peu.c++:5: error: (Each undeclared identifier is reported only once for each function it appears in.) peu.c++:5: error: `endl' undeclared (first use this function)
Dit gebeurt als je, geheel volgens de standaard, iostream include, en niet iostream.h, wat geen geldig standaard C++ headerfile is.
Er zijn twee manieren om dit simpel op te lossen: Stiekem toch iostream.h proberen te includen, of onder de includes de volgende regel te plaatsen:
using namespace std;
Voor zover ik het goed begrijp is iostream een precompiled headerfile en wordt die niet in dezelfde namespace als je programma gezet. Door een andere standaard namespace af te dwingen komt het alsnog goed.
Sorry, die taal heb ik niet bedacht, kan er ook niks aan doen. ;-)
Waarschijnlijk omdat het geen FAT-partitie is. Sinds Windows XP heeft ook de consumenten-Windows ondersteuning voor NTFS. Die staat voor zover ik weet ook standaard ingeschakeld. Op zich een goede zaak, want FAT is nou eenmaal enigszins uit de tijd.
Vervelend hiervan is echter dat Microsoft nou niet bepaald behulpzaam is geweest als het gaat om het geven van informatie die nodig is om een NTFS file system te kunnen lezen. Daardoor is het vrij lastig een goede NTFS-driver voor Linux te schrijven. De driver is er nu, maar kan alleen maar van schijf lezen. Schrijf-ondersteuning is zwaar experimenteel en gevaarlijk, dus zoiets zetten we voorlopig nog niet in NIOde.
Dus helaas, als je NTFS-partities hebt zul je genoegen moeten nemen met een RAM-disk. Hopelijk zal de NTFS-driver voor volgend jaar wat stabieler en betrouwbaarder zijn.
touch ~/.skipxwelcome
Dan zie je 'm nooit weer.
niode.img is een virtuele schijf die NIOde op je DOS-schijf aanmaakt om daar je homedir in op te slaan. Dit bestand is normaal gesproken 16MB groot, dat is vaak genoeg om je spul in op te slaan. Dit bestand kun je ook in Windows uitlezen met Explore2fs. Dit programma staat sinds kort ook standaard op de NIOde CD's.
niode.swp is een swap-file die alleen aangemaakt wordt op systemen met minder dan 64MB geheugen. Een swap-file wordt als aanvulling gebruikt op het geheugen. Uit onderzoek is gebleken dat de programma's van NIOde goed werken met minstens 64MB geheugen plus swap.
Beide bestanden kun je verwijderen wanneer je wilt, maar als je niode.img verwijdert ben je natuurlijk wel al je eigen instellingen en source files e.d. kwijt die je in je home directory had staan.
Dat kan inderdaad gebeuren. Soms komt er uit de hardware detectie dat je machine niet meer dan 640x480 kan weergeven, wat dan waarschijnlijk toch echt niet zo is. Je kunt in zo'n geval zelf tijdens het booten de gewenste schermresolutie afdwingen. Hiervoor moet je bij de boot-prompt (normaal gesproken staat er dan een NIOde logo op het scherm) intikken:
niode screen=1024x768
| © 2003 Wilmer van der Gaast <wilmer@niode.nl> |
|