Devices/Norhtec

From Wiki Adele Team
Jump to: navigation, search

A Norhtec is a mini-pc, similar to a nettop, which runs a x86 compatible VIA processor and has between 512mib and 1024mib of ram.

For more info: http://www.norhtec.com/products/mcjrdx/index.html

Norhtec.jpg

Configuration et instalation à partir de rien

Configuration et instalation à partir d'un install existant

Contexte

Les norhtecs sont des mini pc, similaire aux nettop, mais ils n'ont pas de disque dur "normale". A la place, ils ont des carte CF (compact flash) de 4 Go, donc l'idée est de copier une installe qui marche (copier tout le disque, table de partitions inclus) sur une autre disque CF du même taille, puis modifier sa config de réseau pour le faire marcher correctement en mode 'headless'. Pour le moment on a installé des Debian Lenny (stable), mais au cas où vous avez des soucis avec Linux (et oui, ça existe des gens qui n'aiment pas Linux), les norhtec ont une architecture x86-compatible, avec sortie vga pour l'écran, port ps2, ..., donc vous pouvez installer Windows (ce qui est une solution pourri qd même :-P), ou Solaris (ce qui risque d'être compliqué).

Pour suivre ce petit tuto, je suppose que vous avez un Linux installé pour pouvoir monter les partitions, lire/écrire sur les devices, et que vous disposez d'un lecteur de cartes compact flash pour lire les disques. J'en ai une perso au bureau que vous pouvez utiliser.

Pour info, chaque norhtec a été déclaré auprès des admins du réseau de l'IMAG, donc ils sont en DHCP, mais ils gardent une IP statique aussi pour faciliter leurs configuration hors IMAG, cad, ils ont deux configs d'IP simultanément grâce a des interfaces virtuelles!

Leurs nom d'hôte à l'IMAG sont:

   mini-pc3
   mini-pc4
   mini-pc5

(Les nslu2 sont mini-pc1 et 2).

Les IP statiques sont du 192.168.1.101 au .105 (ex, mini-pc3.imag.fr a l'IP statique 192.168.1.103 => petite astuce: régardez le 3 de pc3 et 103 :-D).

Les IP se configurent dans le fichier /etc/network/interfaces dans la première partition. Sur les CF on a fait deux partitions, la première fait la racine (/) et l'autre pour les répertoires utilisateurs (/home). Si vous avez des besoins particuliers, vous pouvez ajouter un utilisateur (ie, commande adduser)

POUR VOS DEMOS il faut bien comprendre que vous allez accéder en ssh pour copier les fichiers, démarrer les programs, etc, donc si vous avez un serveur DHCP essayez de le configurer de façon que vous allez connaître l'IP de chaque machine à l'avance, vous pouvez utiliser les mac adresses qui sont écris sur chaque Norhtec. Au cas où vous faites de la découverte automatique, il faudra démarrer votre application de découverte au démarrage, donc penser à le configurer (la commande update-rc.d sert à faire ce genre de manip).

Create image from current install

(Copy the current correct installation to a file on your hard drive or to another device).

Do this when the partitions and/or disks are the same size or to backup a partition/disk to a file:

$ dd if=/dev/sdc  of=/home/user/disk_image_file_name

(In this case, the norhtec's CF is detected as device /dev/sdc, you can use dmesg to see the device name that was given by the OS). You do not need to mount the partitions to use dd.

What this does: This will copy the entire disk contents, including the partition table. For most partition table types, this will only work if the disks are the same size and C/H/S geometry. Since you are doing a backup to an identical disk, this approach is suitable

As a reminder, in Unix, devices are seen as files, so if is the in_file and of is the out_file.


Another solution to backing up a partition: The other way to do this is to copy all files to a directory or to a new partition without changing their permissions, dates, access times, ... If you do a normal copy, you will probably mess things up! It is important to know that the partitions do not need be identical in this case, just enough space is needed to copy all the files. This also works for backups, where you can copy the files to a directory then create an archive and compress it.

$ copy -a /media/northecpartition1   /media/where_we_want_the_files

which is the same as:

$ copy -dpR

Also, to force the copy and have it be verbose:

$ copy -afv source destination

http://www.linuxjournal.com/content/copy-your-linux-install-different-partition-or-drive


Edit partitions

There is a graphical tool in most linux installations called gparted If not, you can use fdisk or any other tool. When you create partitions please remember to format them. If you use dd as explained above, the format and partition table is already copied to the disk, so no need to edit the partitions.

Write image to disk

Take the image file and write it to the new disk.

$ dd if=/home/user/diskimage  of=/dev/sdc

Configure the new norhtec

This part is pretty easy, there are only TWO files to edit/read in order to configure the ethernet connection.

You must mount the first partition (the one with the config files).

Go into /etc/udev/rules.d/ and open the file called: 70-persistent-net.rules This file stores the hardware address and it's mapping to a device name.

Why you should edit this file: Currently, this file store the hardware address for the OLD network card (because we copied this file), so when the NEW linux boots up, it will detect that the old device is no longer connected but there is a new device there, and it will give it a new name. This is not a problem except that the configuration files for the network device are done using the device names, not their address, so you must verify that your configuration matches the name of the device that exists... if not, no ssh!

So, I recommend you remove the lines that are there, so that the interface will be detected as eth0, then boot the new norhtec with the CF in, and then stop it. This will cause the network device to be detected and the device name created. Then, go back and check the file to change/read the device name.


Once you have your device name, usually eth0 or eth1, edit:

/etc/network/interfaces

All your IP configuration, virtual devices, etc, are configured in that file. You should fined an example config that I set up using virtual interfaces for a DHCP connection and a static IP to fallback on.

Modify packages for installing java and others

Linux distributions have very good tools for handling installed applications. You should use them if a package exists for your application. Although, an exception might be eclipse, you should probably install your own eclipse, because in the repositories it is generally compiled using the gnu java compiler (not very good/fast).

Console based package manager:

aptitude

Command line:

apt-get

for example

$ apt-get install sun-java6-jre

To install aptitude, if not installed, you can:

$ apt-get install aptitude

You should verify the debian repositories in case you can't find the necessary packages.

/etc/apt/sources.list

Then you can update by running:

$apt-get update
$apt-get dist-upgrade