Handleiding 'Nodemachine-host voor FreeBSD6.0' Deze handleiding beschrijft een manier om CF-kaartjes met een nodemachine-configuratie gebaseerd op FreeBSD6.0 (NodeCope) te maken. Hiermee kunnen we - in afwachting van een echte, nieuwe nodemachinesoftwarefabriek - CF-kaartjes maken voor bestaande nodes met gecrashte hd's en voor nieuwe nodes. 0. Aanpak: - opzetten van een chroot jail op FreeBSD6.2 host machine - installeren van minibsd 6.2 in de jail - bouwen en maken van image voor Soekris of PC - schrijven van image naar compact flash - installeren en configureren voor specifieke locatie 1. Wat je nodig hebt - voor de hostmachine: (oude) pc met cdrom drive en usb voor een kaartlezer voor CF-kaartjes (ingebouwd kan natuurlijk ook); - cf-kaartje van minimaal 64 MB, (de kleinste die nog hier en daar te koop zijn zijn 256 - 512 MB); voor het testen op Soekris: - Soekris 4501 of 4801 - een nulmodem kabeltje, als de pc geen seriele poort heeft ook nog een usb-serieel adapter. - installatie-cd's van FreeBSD6.2 - workshop cd met o.a. image van de www.ultradesic.com website, of internet-toegang - de tar-file van een 'versie 6.0 node', bijv. van NodeCope. Het is handig als de host-pc een internetverbinding heeft. Ook een tweede pc met internet toegang is handig voor het raadplegen van de documentatie en voor het testen. Met wat kunst en vliegwerk kan het waarschijnlijk ook wel zonder? 2. Opzetten van chroot jail - installeer FreeBSD6.2 op de host-pc gebruikmakend van de installatie-cd's. Je hebt geen X11 nodig (werken met command line gaat veel sneller); Je moet wel een 'developers' versie nemen, anders kun je niet compileren. Ports is ook handig, mits je vaste schijf groot genoeg is (10 GB). - maak een chroot jail op de host machine volgens de handleiding op www.ultradesic.com ==> guides ==> minibsd6.x, de complete url naar de guides is: www.ultradesic.com/index06ef-2.html?section=125 Deze url zou ook moeten werken vanaf de 'workshop cd' zonder internetverbinding. Ook de scripts moet je zo kunnen downloaden (TEST). - chroot naar de jail (minichroot script in /root, dus 'cd /root' en 'sh minichroot.sh' ). Let op de correcte adressering van directories/files als je in de jail bent. Ga in en uit de jail ('exit') en zie het verschil. Hier zit een bron van vergissingen! 3. Bouw standaard node in de jail. De node-tar file uitpakken binnen de jail in een nieuwe directory /usr/node. Check je 'working directory' met pwd als je relatief adresseert en wilt weten 'waar je bent'. Let op dat in /usr/node/etc/fstab /dev/ad0a staat en niet /dev/ad0s1a zoals in /etc/fstab. In usr/node/root de laatste regel in .cshrc weghalen (definitie van prompt). Voor we een image gaan maken eerst een paar voorbereidingen: 4. Maken van een image. - Het is handig om een Soekris bij de hand te hebben om het kaartje straks te testen. Eerst zorgen dat je kunt communiceren met je Soekris. Nog geen CF-kaartje in de Soekris. Je (tweede?) pc aansluiten op de seriele poort. Monitor programma starten (tip op FreeBSD, minicom op Linux, hyperterminal op Windoos). Zorgen dat de communicatieparameters goed staan, met name de snelheid. Standaard gebruiken we 9600 baud, maar de Soekris staat ex-fabriek vaak op een andere, hogere snelheid bijv. 19200. Als het gelukt is een leesbare uitput van de Soekris te krijgen (door de snelheid op je pc aan te passen) kun je de Soekris op de standaard 9600 zetten. Nu eerst checken of we inderdaad een CF-kaartje kunnen maken dat werkt in de Soekris (of PC). Hier kun je dagen mee bezig zijn ;-). Wat volgens mij werkt: - CF-kaartje formatteren in een camera (weet niet of dat echt nodig is, maar allerlei andere procedures, waarvan er vele te vinden zijn op internet werkten niet! Het schijnt dat een DOS partitie helpt om FreeBSD de goede geometrie te laten detecteren). - CF-kaartje in de Soekris, Soekris laten opstarten en de CHS gegevens noteren. Bereken het aantal sectoren: CxHxS. Voor een 256 MB kaartje is dat bijv. 500400. - Het build-image.sh script van ultradesic (om een image te maken) aanpassen met deze CxHxS-waarde (voorbeeld: SECTORS="500400"). - Image script starten, er wordt een gezipte image gemaakt (geef een versienr mee, bijv. 0.1). Die file staat nu in je /root directory: minibsd-disk-0.1.bin/gz. - Deze image unzippen en dd-en naar de CF-kaart: dd if=minibsd-disk-0.1.bin of=/dev/da0 bs=8k Aannemend dat de kaartlezer op /dev/da0 zit. - CFkaartje in de Soekris stoppen, terminalprogramma starten op je monitor-pc, voedingsspanning erop en kijken naar de boodschappen. Het opstarten duurt wel even. In het begin is de output niet leesbaar. Je moet uitkomen bij een login: So far so good? 5. Toevoegen van node-specifieke configuratie Zorg ervoor dat je host PC een werkende internet- of wleiden.net-verbinding heeft. Check ping wlconfig.wzoeterwoude.net. De node-specifieke configuratiefiles (automatisch) ophalen en wegschrijven. In de jail: cd /usr/node/tools Controleer of hier de goede versie van het config_update.sh script staat (dwz met de link variabele die verwijst naar wlconfig.wzoeterwoude.net) Draai ./config_update.sh De configuratiebestanden worden opgehaald en geschreven. Bij een bestaande node ontbreken de (oude) ssh-keys en known-hosts bestanden in .ssh. Je kunt die eventueel copieeren en toevoegen (indien beschikbaar). Maak een nieuwe image en test of je kaartje werkt in de Soekris/PC. Je kunt een pc via een crossover kabeltje aansluiten op de (eerste) ethernetpoort (of met een 'recht' kabeltje via een hub/switch) en kijken of je inderdaad in kunt loggen met ssh etc. 6. Suggesties voor verder werk - De huidige configuratie is gebaseerd op FreeBSD6.0. De nieuwste versie 7.0 nadert het 'release' stadium (december 2007??). Standaard nodeconfiguratie bouwen op basis van versie 7.0