====== Driftsinformasjon for sanntidssalen ====== Se endringsloggen [[:itdrift:sanntidssal|nederst på siden]]. For symptomer og løsninger på (vanglige?) problem, se [[:itdrift:sanntidssal:losninger|løsninger]] ===== Arbeidsplassene ===== Maskinene har Windows 7 og Ubuntu Trusty Tahr (14.04). Brukeren velger hvilket OS som skal bootes via en GRUB-meny. OS-valget huskes som standardvalg neste boot. I tillegg til de to OS-ene nevnt over ligger også Linux Mint-installasjonen fra høsten 2014 sitt image på "/home"-partisjonen til Ubuntu. Ubuntu sin GRUB legger til Mint i listen i over bootbare OS-er når man kjører "sudo update-grub" fra Ubuntu. For mere info om Mint-installasjonen, se [[:itdrift:sanntidssal:mint|Linux Mint på sanntidssalen]]. ===== Testing av utstyr ===== ==== Heismodellen (Linux) ==== Her er koden til en gruppe som fikk 10 poeng i ferdigkompilert form: {{:itdrift:heis-test.tar.gz|}} Bruk ved å kjøre disse kommandoene i terminalen: wget https://www.itk.ntnu.no/_media/itdrift/heis-test.tar.gz -qO- | tar xz && rm -r heis-test | heis-test/heis Eller (funket når jeg skrev dette): wget -qO- itk.ntnu.no/heis.sh | sh ===== Windows ===== ==== Programvare ==== * Atmel Studio 6.2 * Arduino IDE for Atmel Studio (lestes ned fra Extension Manager) * Kopier .addin-fila fra Visual Micro%%\%%Visual Micro for Arduino%%\%%Visual.Micro%%*%%.AS6.addin til Atmel Studio 6.2%%\%%Addins * Sjekk at File->New->Arduino Project er i menyen * Tools -> Options Visual Micro -> General: License Key (se [[:itdrift:sanntidssal:secret|Visual Micro]]) * Redigér %%\%%ProgramData%%\%%VMicro%%\%%Settings.xml (se under) * Oracle VM VirtualBox * git * svn * Matlab * ispLEVER Classic 1.8 * Lattice har et skjema på nett der man kan fylle inn MAC-adresse og få en lisensfil tilsendt på epost. Bruker denne funksjonen. * Arduino (1.6.x) * Putty * [[https://sites.google.com/site/terminalbpp/|Bray's Terminal]] * [[http://www.compuphase.com/software_termite.htm|Termite]] * Siemens Simatic/PLS * //QNX Momentics + VM// (se [[itdrift:sanntidssal:secret]]) AAABZ-Z99BA-FN3FE-C77HF-4QBVJ C4NA3-A6EFC-CGP6Y-RBJFQ-JLEAA 1 ==== Driftsinformasjon ==== I tillegg til programvaren over skal dette være installert: * PowerShell v4 * For bedre støtte for auto-deploy-script * SCCM-klient for administrering gjenneom Configuration Manager * Utrulling av programvare * Reinstallering ===== Linux ===== ==== Programvare ==== Her er en oversikt over programvare som skal være installert i Linux på sanntidssalen. //"behold (relativt) usikret nettverk for sanntidsprogrammering"// === Kompilatorer === * gcc >= 4.8 ("kan 5.0 støttes?") * g++ * clang >= 3.5 * golang >= 1.2 * erlang * scala * java (openjdk-7-jdk) * gnat * nodejs * rust ([[http://www.rust-lang.org/|http://www.rust-lang.org/]]) * dmd (dlang) Digital Mars D compiler * mono (mono-devel) === Annet === * git * avrdude * {{:buildroot-avr32-v3.0.0_ttk4147.tar.bz2|"buildroot-avr32-v3.0.0"}} * Matlab (må installeres fra progdist) * gfortran * openjdk-7-jdk * valgrind * vim * gdb * codeblocks * monodevelop * eclipse * libreoffice * libcomedi (libcomedi{0,-dev}) * Xenomai ==== Active Directory-pålogging ==== Dokumenterer prosessen slik at det kan reproduseres lettere. - Installer pakker * # apt-get install krb5-user libpam-krb5 samba winbind libpam-mount - Rediger config, se innhold lenger ned * # nano /etc/krb5.conf - Test oppsett * kinit BRUKERNAVN * klist - Konfigurer samba, se innhold lenger ned * # nano /etc/samba/smb.conf - Sett 129.241.0.200 og 129.241.0.201 som DNS-tjenere - Mend maskinen inn i domenet * # net ads join -U BRUKERNAVN - Konfigurer nsswitch, se innhold lenger ned * # nano /etc/nsswitch.conf - Restart samba og winbind * # service winbind stop; service samba restart; service winbind start - Tell hvor mange brukere som ligger i domenet * $ wbinfo -u|wc -l - Konfigurer PAM * # pam-auth-update * Kryss av __**BARE**__ * Unix authentication * Winbind … * Mount volumes for users * Register user sessions … * Inheritable Capabilities Management - Restart winbind * # service winbind stop; service samba restart; service winbind start [libdefaults] default_realm = WIN.NTNU.NO ticket_lifetime = 24000 [realms] WIN.NTNU.NO = { kdc = win-dc1.win.ntnu.no:88 kdc = win-dc2.win.ntnu.no:88 kdc = win-dc3.win.ntnu.no:88 admin_server = win-dc1.win.ntnu.no default-domain = win.ntnu.no } [domain_realm] win.ntnu.no = WIN.NTNU.NO [logging] default = FILE:/var/log/krb5.log kdc = FILE:/var/log/krb5kdc.log [global] security = ads realm = WIN.NTNU.NO password server = 10.0.0.1 workgroup = WIN-NTNU-NO idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes template homedir = /home/%U template shell = /bin/bash client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes winbind use default domain = yes restrict anonymous = 2 domain master = no local master = no preferred master = no os level = 0 # /etc/nsswitch.conf passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis sudoers: files Denne konfigurasjonsfilen ble før brukt til auto-mount av studentens sambaad-mappe. Nå er den linjen som gjør det kommentert ut for å gjøre pålogging kjappere. Studenter må nå mounte sambaad manuelt med Nautilus. ===== Brennemaskinen ===== Brennemaskinen er PC-en som brukes for å brenne logiske IC-er på sanntidssalen. PC-en kjører Windows, skal ikke være koblet på nettverket og har automatisk innlogging til en upriviligert bruker. Programvare som er installert på brennemaskinen: * Dataman v3.10/11.2014 ===== Endringslogg ===== ==== Image: Win-Ubuntu-Sanntid ==== Rulles ut Sommer 2018 === Partisjonstabell === ^Filsystem ^Størrelse ^Kommentarer ^ |ntfs|250gb|Windows 7 Enterprise | |ext4|100gb|Linux Ubuntu 16.04.1 | |ext3|140gb|/home | |swap|10gb |swap | === OS === * Fjernet Linux Mint * Oppgradert Linux Ubuntu 14.04 til 16.04.1 * Ny Xenomai (se [[itdrift:sanntidssal:xenomai]]) ==== Image: timelord-v2 ==== Plan for andre image. Rulles ut før høstsemesteret 2015. === Partisjonstabell === ^Filsystem ^Størrelse ^Kommentar ^ |ntfs |~250GB |Windows 7 Enterprise **64-bit** | |**ext3** |~100GB |Ubuntu 14.04 LTS 64-bit | |**ext3** |~140GB |**/home** | |swap |~10GB |Swap | === OS === * Windows 7 er nå 64-bits * Vi har nå Simatic som kan installeres på 64-bits (før var det bare for 32-bits) * (?) Windows rulles ut med SCCM * Linux-partisjonen ligger nå på EXT3-filesystem for at vi skal kunne ta image med Symantec Ghost i stedet for Clonezilla. * Linux-partisjonen deles opp i Ubuntu og /home for å gjøre det mulig å rulle ut nytt image uten å slette alle studentenes filer. * Research må gjøres for å få til utrulling av Windows uten å formatere Linux-partisjonen. === Utrulling === * MAC <⇒ hostname bruker nå store bokstaver med bindestrek i stedet for små bokstaver med kolon: * **AA-BB-CC-DD-EE hostname** * (?) gjør at den prøver helt til den får til å koble til frigg (pga ustabilt nett eller hva enn det er) * setup.sh %%*%% (?) Clonezilla hvis aktuelt %%*%% === Programvare (Windows) === Ny programvare i dette imaget: * Atmel Studio (6.2) ([[http://www.atmel.com/microsite/atmel_studio6/|http://www.atmel.com/microsite/atmel_studio6/]] (Mulig man må opprette en temp bruker for å laste ned). * Google Chrome (Har vært ønsket av noen studenter, ikke et must) * ispLEVER Classic production package (1.4.00.04.27.10) (Mulig denne også installerer Project Navigator) (Usikker på hvordan denne anskaffes og lisensieres da studassene har tatt seg av dette før). * ispLEVER Project Navigator (1.4.00.04.27.10) * Arduino ([[http://arduino.cc/en/Main/Software|http://arduino.cc/en/Main/Software]]) * 1.0.%%*%% * 1.5.%%*%% * Bray 's terminal ([[https://sites.google.com/site/terminalbpp/|https://sites.google.com/site/terminalbpp/]]) * Putty ([[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html]]) === Programvare (Linux) === Ny programvare i dette imaget: * Xenomai ([[http://xenomai.org/|http://xenomai.org/]]) Andre endringer i oppsettet: * Domenepålogging fjernes * Lokal (offline) bruker opprettes * med passord som er enkelt, men som tilfredsstiller NTNU ITs passordkrav * ==== Image: timelord-v1.2.1 ==== Første utrullede image. Rullet ut desember 2014. Partisjonstabell: ^Filsystem ^Størrelse ^Kommentar ^ |ntfs |~250GB |Windows 7 Enterprise 32-bit | |ext4 |~240GB |Ubuntu 14.04 LTS 64-bit | |swap |~10GB |Swap | Stikkord: * Domenepålogging * Bruk bare brukernavn, ikke "@ntnu.no" * Automounting av brukers sambaad-mappe til $HOME/sambaad-$USER * Fjernet; se patch 2015-02-17 * Klokkesynkronisering mot ntp.uio.no med ntpd * Hjemmemappe opprettes ved brukers første pålogging på hver enkelte maskin * Først var det pam_mount.so som gjorde dette; etter patch 2015-02-18 er det pam_mkhomedir.so * [sikkert andre ting som jeg ikke kommer på…] #!/bin/bash if [ "$BASH_ARGV" != "" ]; then cp "$BASH_ARGV" /tmp/patch.sh chmod +x /tmp/patch.sh sudo /tmp/patch.sh else apt-get -y install inotify-tools echo $? tail -n1 "$0"> /root/qpatchd fi session optional pam_mkhomedir.so Denne linjen måtte inn fordi forige patch fjernet auto-mounting av sambaad, og det var den prosessen opprettet hjemmemapper. Derfor fikk man ikke logget inn på maskiner som man ikke hadde logget inn på før. patch_2015-02-18.sh #!/bin/bash if [ "$BASH_ARGV" != "" ]; then cp "$BASH_ARGV" /tmp/patch.sh chmod +x /tmp/patch.sh sudo /tmp/patch.sh else read -p "Copied and run." echo ''>> /etc/pam.d/common-session echo '# Make home direcotry for user. pam_mount.so was used before.'>> /etc/pam.d/common-session echo 'session optional pam_mkhomedir.so'>> /etc/pam.d/common-session echo $? fi MAC-adresse for maskinene (se [[http://itk.ntnu.no/api/mac-hostname|http://itk.ntnu.no/api/mac-hostname]]) * Nye pakker: * vim * g++ * gdb * codeblocks * valgrind * monodevelop * mono-devel * eclipse * Fjernede pakker: * golang * golang-go patch_2015-02-17.sh #!/bin/bash #if [ $SHLVL -eq 1 ]; then if [ "$BASH_ARGV" != "" ]; then cp "$BASH_ARGV" /tmp/patch.sh chmod +x /tmp/patch.sh sudo /tmp/patch.sh else # Get MAC-address HWADDR=$(/root/get-hwaddr.sh) MACHINENAME= echo "Checking if MAC $HWADDR has a hostname..." HWADDR_HOSTNAME_LINE=$(wget -qO- http://itk.ntnu.no/api/mac-hostname | grep -m1 $HWADDR) if [ "$HWADDR_HOSTNAME_LINE" != "" ];then MACHINENAME=${HWADDR_HOSTNAME_LINE#* } echo "This machine already has a hostname: $MACHINENAME" else echo "Cound not find existing hostname assosiation." read -p "Enter this machine's name (e.g. itk-d651) (NOT itk-d651-ubuntu!) >> " MACHINENAME echo "==== Updating machine name assosiation..." echo " $HWADDR => $MACHINENAME" wget -qO/dev/null "http://itk.ntnu.no/api/mac-hostname.php?0=$HWADDR $MACHINENAME" echo $? fi echo "Will now install go 1.4.1..." sleep 5 echo "Removing old version..." apt-get -y remove golang golang-go echo "Downloading..." wget -q -O go.tar.gz https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz echo "Extracting..." tar -C /usr/local -xzf go.tar.gz echo "Installing..." echo 'export PATH=$PATH:/usr/local/go/bin'>> /etc/bash.bashrc rm go.tar.gz echo "Next is system update. Sleeping for 5 sec..." sleep 5 apt-get update apt-get -o Dpkg::Options::="--force-confold" --force-yes -y upgrade apt-get -y install vim g++ gdb codeblocks valgrind monodevelop mono-devel eclipse apt-get -y auroremove cp /etc/security/pam_mount.conf.xml /etc/security/pam_mount.conf.xml.bak echo ' '> /etc/security/pam_mount.conf.xml echo "Done" echo "" echo "Going to reboot in 10 seconds..." sleep 10 reboot fi \\