Denne siden er arkivert, og kan inneholde utdatert, gammel eller feil informasjon.
Dette er nå historisk. I dag bruker vi i stedet SUWI7.
SUWI
SUWI er Samfundet Upåaktede Windowsinstallasjon. (Dersom noen kommer på et bedre backronym, må de gjerne endre det.) Det er et system som lar deg installere Windows på maskiner over nettverk uten å måtte gi dem oppmerksomhet mer enn høyst nødvendig. Per i dag må den få maskinnavn ved installasjonsstart, resten klarer den i teorien på egenhånd (men det er jo ikke helt sant, se SUWI TODO).
Den observante leser vil selvsagt påpeke at dette bare er reimplementering av det f.eks. Unattended gjør. Det har den observante leser helt rett i. Forskjellen ligger i hovedsak i kompleksitetsforskjellen - SUWI består av 49 linjer bash, 13 linjer batch og 91 linjer konfigurasjon til hhv dosemu og Windowsinstallasjonen. Unattended består av tusenvis av linjer perl, uante mengder kompleksitet, obskure løsninger (installasjon av perl på Windows-maskinene, f.eks.), monolittiske katalogstrukturer og har et mål om å løse et stort lass med problemer vi ikke har. SUWI løser et mye smalere problemfelt, men er vel så nyttig.
Hva gjør SUWI?
Rent konseptuelt er SUWI en Debian chroot som med dosemu som emulerer DOS, hvor første del av Windows-installasjonen kjøres, matet med en unattend.txt, som konfigurerer en upåaktet Windows-installasjon.
Litt mer spesifikt gjør SUWI følgende:
- SUWI startes som en helt vanlig Debian Lenny NFS-root som man PXE-støvler inn i - dette finnes på cirkus:/tftpboot/suwi/ (som strengt tatt NFS-monteres fra cassarossa). Den bærer navnet suwi-client og kan fint chrootes inn i når man trenger å gjøre endringer. Den eneste relevante endringen i dette systemet (i tillegg til noen pakker som er installert) er i /etc/rc.local - den sørger for å montere \\suwi.samfundet.no\suwi på /srv/dos, for å så kjøre skriptet /srv/dos/suwi.
- I /srv/dos på suwi-client, som altså CIFS-monteres, ligger alt som skal til for å installere Windows:
- Skriptet suwi spør om navnet på maskinen som skal installeres. Navnet sed-es inn i malen unattend_template.txt, som kopieres til /tmp/unattend.txt.
- Så gjetter den på hvilken disk Windows skal installeres til og lager en tom partisjonstabell på disken. Hvilken disk som ble valgt sed-es inn i malen dosemu-suwi.conf og kopieres til /tmp/dosemu-suwi.conf.
- Hvis vi installerer til en PATA-disk er vi nødt til å rette på hva kjernen vet om /disk geometry/. DOS bruker bare verdiene som BIOS gir oss og vi får ikke en fungerende partisjon som Windows kan bruke om dette ikke gjøres. Litt stygg magi er inne for å håndtere dette.
- Deretter symlinkes stage1.bat til /tmp/stage1.bat.
- dosemu kjøres med nevnte konfigurasjon og bat-fil. stage1 sørger for å lage en FAT32-partisjon. (Det viser seg at Windows Setup ikke trives særlig godt med filsystemer som lages av mkfs.vfat.)
- dosemu kjøres igjen, denne gangen med stage2, som formaterer disken og starter Windows-installasjonen.
- Så støvler maskinen, og Windows-installasjonen fortsetter på egenhånd. Merk at WPKG installeres og kjører mot slutten.
Klargjøring av I386
Katalogen I386 er installasjonsfilene til Windows, og inneholder alt Windows Setup trenger. Det må gjøres endringer på en standard I386-katalog for at den skal fungere med SUWI. I korte trekk er det å installere WPKG i løpet av installasjonen, samt dra inn drivere for alt i hele verden, siden Windows i utgangspunktet kun kommer med utdaterte drivere.
På ~administrator/suwi skal alt som må til for å bygge vår I386 til ligge. Du trenger en Windowsmaskin, logget på som Administrator (eller med Administrators hjemmeområde montert et sted - her antar vi Z:\). Prosedyren er ca. som følger, men må tas med en klype salt, siden DriverPacks endrer seg:
- Utgangspunkt: En standard kopi av en ISO med norsk Windows XP med Service Pack 3, pakket ut til z:\xp-with-sp3=. Denne kan pakkes ut av ISOen ved å monteres i Linux med =mount -o loop winxp_nor_w_sp3.iso /mnt/tmp, og filene kan kopieres ut.
- Last ned DriverPacks BASE (ikke relatert til hopping fra ting). Kjør og pakk ut til =z:\suwi\driverpacks\=.
- Last ned samt alle tilgjengelige DriverPacks. De distribueres som torrents og er 7z-filer. Legg dem i =z:\suwi\driverpacks\DriverPacks\=.
- Kjør =z:\suwi\driverpacks\DPs_BASE.exe\=
- Trykk Neste (knapp med >). Programmet sjekker for oppdateringer til driverpakkene, så hent eventuelt nyere utgave. Trykk > til du kommer til Select location of platform. Velg Disc som installation platform, trykk Browse og velg =z:\suwi\xp-with-sp3\. Programmet skal finne ut at det bor en «OS: Windows XP Professional - Retail SP3» der.
- I neste skjermbilde: Velg alle pakkene. Velg også «DriverPacks MassStorage text mode».
- I neste skjermbilde: Velg method 2. (Method 1 fungerer ikke når man har med mange pakker, siden den lager en PATH til alle drivernes kataloger som skal i en konfigfil, men denne stien blir for lang for Windows.)
- I neste skjermbilde: Velg RunOnceEx. Standard-ID er sikkert greit.
- To skjermbilder frem: Velg Enable KTD for ALL slipstreamed DriverPacks, og default KTD location.
- To skjermbilder frem: Velg Enable QSC.
- I neste skjermbilde: Velg Disabled for både ATI- og Nvidia-programmer.
- Trykk > to ganger og trykk Slipstream!
- Vent. Dette tar litt tid.
- DriverPacks tar feil, så det må fikses litt, og WPKG må snikes inn:
administrator@cassarossa:~/suwi/xp-with-sp3$ mv OEM I386/$OEM$/$1/ administrator@cassarossa:~/suwi/xp-with-sp3$ mv OEM \$OEM\$/* I386/\$OEM$/\$1/ administrator@cassarossa:~/suwi/xp-with-sp3$ cp -r ../wpkg I386/\$OEM$/\$1/
- I I386/$OEM$/$1/wpkg/ finnes nå en msi-pakke og instillinger til WPKG. Denne installeres helt i slutten av Windowsintallasjonen (se i unattend-templaten) og sørger for at alle programmene vi vil ha blir installert.
- Kopier hele den klargjorte I386-katalogen til rett sted:
administrator@cassarossa:~/suwi/xp-with-sp3$ rsync -Pvr –delete I386/ /home/cassarossa/suwi/I386/
Alle filer i /home/cassarossa/suwi/ skal være versjonskontrollert med bzr, og treet skal befinne seg samme sted som utsjekken.
- Hvis ting ikke fungerer nå kan det hende du er nødt til å kopiere noen linjer fra txtsetup.sif og dosnet.inf til den nye I386 mappen
Finn: setupORG.exe= 1,,,,,,,2,0,0 presetup.cmd= 1,,,,,,,2,0,0 i I386.bak/txtsetup.sif og kopier dem over i I386/txtsetup.sif. Evt bare kopier dem herfra. administrator@cassarossa:/export/cassarossa/ymse/suwi$ vim -p I386.bak/txtsetup.sif I386/txtsetup.sif kopier så: d1,presetup.cmd d1,setupORG.exe fra I386.bak/dosnet.inf til I386/dosnet.inf administrator@cassarossa:/export/cassarossa/ymse/suwi$ vim -p I386.bak/dosnet.inf I386/dosnet.inf
Andre verktøy
Det finnes en Microsoft Setup Manager Wizard, som kan brukes til å lage en unattend.txt-fil. Det er, ikke overraskende, ikke spesielt bra, men den kan brukes til én nyttig sak: Lage en hash av et administratorpassord (i stedet for å ha klartekstpassord) til unattend.txt. Se Bytte SUWI-adminpassord.
Diverse dokumentasjon
- Microsoft har endel dokumentasjon om slipstreaming av drivere.
- Direktiver i unattend.txt: ref.chm og denne KB-artikkelen
- Berges orientering om SUWI på wpkg-users. Minst like fyldig som wikien.
Kerberos
(Flyttet fra Kerberos, siden det nå er historisk.)
SUWI setter opp maskiner med MIT Kerberos for Windows og kopierer en krb5.ini til dem som gir GSSAPI-støtte til Windowsmaskiner på domenet. Man får sågar billett når man logger på SAMFUNDET-domenet. Det finnes en PuTTy med GSSAPI-støtte, men det er ikke den som installeres av WPKG for tiden. Det er det to årsaker til: a) den som installeres av WPKG har UTF-8 som standard tegnsett og b) ingen har satt seg ned og funnet ut hvordan man setter (Kerberos-)instillinger globalt i putty. Uansett får PuTTy GSSAPI-støtte etter versjon 0.60, og da vil vi nok bruke den.
Firefox får global konfigfil fra WPKG som setter opp GSSAPI-støtte for alle våre domener. Også Thunderbird er støttet, men ingen har laget globalt oppsett for det ennå, så man må sette det opp selv.
Lenker: Start, arkiv, historie, suwi, suwi todo
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2020-09-18 12:33 | Revisjon: 43 (historie, blame) | Totalt: 1905 kB | Rediger