Actualitzar Debian 6 (squeeze) a Debian 7 (wheezy) al Netgear Stora MS2110-100PES

Com el Debian 6 ja ha deixat de tindre suport anem a fer un upgrade al 7 (millor fer-la amb una instal·lació neta que no si ja l’has ‘guarrejada’ un poc).

S’edita el fitxer de configuració del apt () deixant les següents línies:

deb http://mirrors.kernel.org/debian/ wheezy main
deb-src http://mirrors.kernel.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

I ara a actualitzar (sense tocar el kernel, ja que per sort el 2.6.32 pot estar al Debian 7).

apt-get update
apt-get upgrade
apt-get install udev
apt-get dist-upgrade

Si hi ha algun error executar també:
apt-get -f install
apt-get dist-upgrade

I per a finalitzar:

update-initramfs -u
cd /boot
/root/stora-flash -i vmlinuz-2.6.32-2-kirkwood -r initrd.img-2.6.32-2-kirkwood

Ara es reinicia i ja està el Debian 7 instal·lat

https://www.garron.me/es/gnu-linux/actualizando-debian-6-a-7-squeeze-wheezy.HTML

Crear RAID 1 bootable al Netgear Stora MS2110-100PES

Aquest apartat es pot aplicar a qualsevol equip al qual estiga instal·lat linux Debian. Excepte la última part on s’indica l’ordre per a arrancar el sistema, però al final del post deixe l’enllaç a la web original on ho explica. Tot el que s’indica és com a super usuari.

Per a fer RAID 1 es seguixen els següents passos:
– Instal·lar mdadm.
– Copiar estructura del disc A al disc B.
– Indicar que totes les particions del disc B són per a RAID.
– Crear RAID i afegir les particions del disc B.
– Muntar el RAID a una carpeta temporal i copiar tots els fitxers.
– Reiniciar i arrancar amb el RAID.
– Indicar que totes les particions del disc A són per a RAID.
– Afegir les particions del disc A al RAID.
– Configurar el fitxer mdadm.conf per a muntar el RAID automàticament al iniciar.

Instal·lar mdadm

apt-get install mdadm

Eixim del asistent de configuració si es pot. Com jo no sabia de que anava la cosa quan ho he instal·lat… si que he fet l’assistent i després tenia algun que altre problema.

Per a copiar l’estructura del disc A al disc B s’executa l’ordre:

sfdisk -d /dev/sda | sfdisk /dev/sdb

I ara es modifica el tipus de particions, primer vegem les particions que tenim amb:

fdisk -l

I després les modifiquem:

fdisk /dev/sdb

s’accedix a un menú al qual es farà aquest procediment per cada partició que hi haja:

Command (m for help): <-- t
Partition number (1-4): <-- num de la partició
Hex code (type L to list codes): <-- fd

I per a finalitzar:

Command (m for help): <-- w
The partition table has been altered!

Ara es continua amb la creació dels RAIDs, es crea una partició RAID per cada partició que tingam. Al meu cas tinc una per a dades (sdb1) i altra per a swap (sdb5).

mdadm -C /dev/md0 --metadata=0.90 --chunk=128 --level raid1 --raid-disks 2 missing /dev/sdb1
mkfs.ext3 /dev/md0
mdadm -C /dev/md1 --metadata=0.90 --chunk=128 --level raid1 --raid-disks 2 missing /dev/sdb5
mkswap /dev/md1

Es torna a actualitzar l’arranc per a que puga arrancar des del RAID

mdadm-startall
update-initramfs -u
cd /boot
/root/stora-flash -i vmlinuz-2.6.32-2-kirkwood -r initrd.img-2.6.32-2-kirkwood

I ara es munta la partició de dades del RAID i es copien les dades de l’actual /

mkdir /mnt/newroot
mount -t ext3 /dev/md0 /mnt/newroot
cp -ax / /mnt/newroot

Es reemplaça sda1 per md0 i sdb5 per md1 a la taula de muntatge fstab del nou / (la ruta seria /mnt/newroot/etc/fstab)

Fem un reinici i tornem a cancelar l’autoarranc. Executem les següents ordres per a executar el sistema:

setenv bootcmd_ide 'ide reset; ext2load ide 1 0x200000 /boot/uImage; ext2load ide 1 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/md0; run bootcmd_ide; bootm 0x200000 0x800000'
boot

El més segur es que no trobe automàticament el RAID i es quede al (initramfs), aleshores executar aquestes ordres per a configurar els RAIDs i continuar:

mdadm --assemble /dev/md0 /dev/sdb1
mdadm --assemble /dev/md1 /dev/sdb5
exit

Ara continuem amb el procés, li toca al disc A. Copiem la estructura de particions del disc B:

sfdisk -d /dev/sdb | sfdisk /dev/sda

i afegim les particions del disc A al RAID:

mdadm --manage /dev/md0 -a /dev/sda1
mdadm --manage /dev/md1 -a /dev/sda5

Automàticament començarà a regenerar-se el disc A fins que siga igual que el B. Aquest procés es pot veure amb l’ordre:

watch cat /proc/mdstat

I per a eixir pulsar CTRL-C.

Una vegada ja ha acabat de regenerar-se passem a editar el fitxer de configuració de RAID, que al debian està a /etc/mdadm/mdadm.conf, i si hi ha alguna línia que comença amb la paraula ARRAY la borrem o la comentem (posant un # davant).

Ara li posem la configuració correcta d’ARRAY amb la següent ordre:

mdadm --verbose --detail --scan >> /etc/mdadm/mdadm.conf

Es torna a actualitzar l’arranc per a que puga arrancar des del RAID

update-initramfs -u
cd /boot
/root/stora-flash -i vmlinuz-2.6.32-2-kirkwood -r initrd.img-2.6.32-2-kirkwood

*Aquest pas no se si és precís ja que el que he fet jo seguint els manuals és reiniciar després de la regeneració i sempre es quedava en (initramfs). Tenia que muntar manualment el RAID amb les ordres:

mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
mdadm --assemble /dev/md1 /dev/sda5 /dev/sdb5
exit

Finalment googlejant he trobat l’ordre per a posar la configuració correcta d’ARRAY i jo he afegit aquest últim pas. Aixina que igual no fa falta.

Després d’aquest incís reiniciem l’equip, cancelem l’autoarranc i executem les següents ordres:

setenv bootcmd_ide 'ide reset; ext2load ide 1 0x200000 /boot/uImage; ext2load ide 1 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/md0 rootdelay=5; run bootcmd_ide; bootm 0x200000 0x800000';
boot

Comprovem que s’ha iniciat correctament i que la partició / està muntada al /dev/md0 (amb el df -h per exemple) i tornem a reiniciar per a guardar els valors d’inici i que l’autoarranc inicie linux. Aixina que es reinicia, cancelem l’autoarranc i executem les següents ordres:

setenv bootcmd_ide 'ide reset; ext2load ide 1 0x200000 /boot/uImage; ext2load ide 1 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/md0 rootdelay=5; run bootcmd_ide; bootm 0x200000 0x800000';
saveenv
boot

Com es pot comprovar en la línia de setenv bootcmd_ide, estem apuntant al disc 1 (ide 1), supose que si falla aquest disc el sistema no s’iniciarà a soles i es tindria que connectar via consola al NAS i modificar aquesta línia per:

setenv bootcmd_ide 'ide reset; ext2load ide 0 0x200000 /boot/uImage; ext2load ide 0 0x800000 /boot/uInitrd'
saveenv

Després referent al RAID pot ser que també falle l’arranc del linux al fallar un disc i pot ser s’haja de fer en manual alguna historia com sol passar als servidors quan falla un disc i toca ‘apretar F1’ per a continuar jaja.

Configurar RAID:
http://www.openstora.com/forum/viewtopic.php?f=6&t=396
https://www.howtoforge.com/software-raid1-grub-boot-debian-etch-p2

Instal·lant linux a Netgear Stora MS2110-100PES

“Arrglant trastos” he trobat el NAS que havia retirat i m’ha vingut al cap que una vegada vaig llegir que es podia posar linux. La veritat que el firmware que porta no m’agrada gens: és prou llimitat, s’accedix per una web de netgear, i ja està una mica desfassat.
He buscat novament la web on indicava cóm posar el debian al NAS i vos explique els resultats:

La web que explica el procés és [aquesta], però jo ho he aconseguit instal·lar sense USB extern i en RAID1 ajudat d’altres webs que deixe al final del post. Fent el que indique es perdrà tota la informació que hi haja al NAS

Estem parlant d’una arquitectura arm, amb un bootloader anomenat U-BOOT el qual al arrancar el sistema et dona 3 segons per a interrompre l’arranc automàtic i interactuar amb ell. Ens connectem per serial per a poder interactuar amb el sistema. A la web hi ha un exemple de com utilitzar Arduino UNO per a ‘fer de pont’ entre el pc i el NAS, jo he utilitzat un convertor USB – SERIAL TTL per a comunicar-me (però el procés és el mateix).

El software que he utilitzat al Windows és el putty, que ja l’utilitze per a client SSH, per a linux es pot utilitzar l’utilitat ‘screen’ (a la web està explicat).

Instal·lant el sistema

Seguint la web, el primer pas és baixar-se al pc en local tots els arxius de l’adreça http://openstora.cablecat.dk/ (realment no s’utilitzen totes però aixina i tot jo les he baixat)

Per a poder carregar l’arranc de la instal·lació es necessita passar fitxers del nostre pc al NAS. Ho farem per tftp, el programa utilitzat és el pumpkin (que ens hem baixat). L’instal·lem i modifiquem la configuració per a definir el directori (on estan guardats els fitxers que ens hem baixat) i per a permetre qualsevol connexió:
post01

Ara ens connectem amb el Putty al NAS. Obrim putty, indiquem que és una connexió serial, indiquem el número del port i la velocitat de 115200.

Posem en marxa el NAS i començarem a veure ‘coses’ fins que mostra

Hit any key to stop autoboot:  3

Aleshores es pulsa qualsevol tecla per a parar el procés automàtic.

En aquest punt anem a fer un backup de les opcions configurades per defecte. Amb la funció printenv es mostra per pantalla tota la configuració (que copiarem a un txt i el guardarem)
Ara es configura unes opcions que no se que són, la IP del NAS, la IP del nostre equip (que fa de servidor tftp), es guarden els canvis i es reinicia:

setenv mainlineLinux yes
setenv arcNumber 2743
setenv ipaddr XXX.XXX.XXX.XXX   #This is the IP of your Stora
setenv serverip XXX.XXX.XXX.XXX #This is the IP of your TFTP server
saveenv
reset

(per conforme està la meva xarxa també he tingut que modificar la màscara, setenv netmask)

Es reinicia i es torna a parar l’arranc automàtic. Ara es carreguen els fitxers d’arranc de l’instal·lador:

tftpboot 0x200000 uImage.di
tftpboot 0x800000 uInitrd.di
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootm 0x200000 0x800000

I comença la instal·lació! Jo he tingut bastants problemes amb la instal·lació. El primer problema es que aquesta versió de debian ha deixat de tindre suport i per tant s’ha retirat dels repositoris, deixant-lo sols al repositori ‘archive’. El problema d’aquest repositori es que la estructura de carpetes és diferent a la que espera el programa d’instal·lació i per tant no hi ha forma de seguir.
Mirant per internet he trobat posts on la gent posava un proxy pel mig, capturava la url i la modificava. Jo això no ho se fer, aixina que he buscat fins trobar un mirror on encara tinguera aquesta versió. També descartava instal·lar una nova versió com m’ho oferia l’instal·lador per por a que el kernel que s’instal·la després a ma no fos compatible (ho desconec).
Be el mirror que s’introduix manualment és:
Servidor: snapshot.debian.org
Carpeta: /archive/debian/20120402T153222Z/

Aquest servidor pareix que tinga snapshots de qualsevol dia, així que es pot provar a instal·lar un més vell

Altre problema que he tingut es que després de descarregar els primers paquets la pantalla es queda negra ‘i au’, no passa res més. Era perquè triava en la configuració que la localització era Espanya. Si es deixa totes les opcions per defecte si que funcionarà OK.

Pot mostrar varis errors com:
– No kernel modules were found.
– Software RAID not available
– Logical Volume Manager not available
– No installable kernel was found

Quan s’arriba a la partició s’indica que el format de la taula de particions és ‘msdos’ (perquè? per que he provat eixa i m’ha funcionat). En aquest cas com volia fer RAID i no volia liar-me amb les particions he posat que sols vull una partició on estiga tot.
Important en aquest punt que s’utilitze sols un dels discs i es creen particions primaries, a mi se m’ha creat la partició swap en lògic. No passa res però crec que per al RAID quea més ‘net’.
Al final no s’instal·la el GRUB perque indica que no es pot i intentarà reiniciar.

Instal·lació del kernel

Al reiniciar tornarem a cancelar l’autoarranc i carregarem els fitxers corresponents per a arrancar el nostre sistema:

tftpboot 0x200000 uImage
tftpboot 0x800000 uInitrd
setenv bootargs $(console) root=/dev/sda1
bootm 0x200000 0x800000

(pot ser que la vostra partició / no siga /dev/sda1, si és així es te que modificar)

una vegada ja ha arrancat el sistema s’instal·la el kernel amb les següents ordres:

aptitude update
aptitude -y install uboot-mkimage initramfs-tools ntpdate
ntpdate-debian
wget http://dl.dropbox.com/u/1397036/stora_di/linux-headers-2.6.32-6-kirkwood_2.6.32-6-kirkwood-10.00.Custom_armel.deb
wget http://dl.dropbox.com/u/1397036/stora_di/linux-image-2.6.32-6-kirkwood_2.6.32-6-kirkwood-10.00.Custom_armel.deb
wget http://dl.dropbox.com/u/1397036/stora_di/2.6.32.mach.tgz
dpkg -i linux-*-2.6.32-6-kirkwood_*.deb
ln -s /usr/src/linux-headers-2.6.32-6-kirkwood/ /lib/modules/2.6.32-6-kirkwood/build
tar xzf 2.6.32.mach.tgz -C /usr/src/linux-headers-2.6.32-6-kirkwood/arch/arm/

i ara es confiugura el kernel per a poder arrancar:

wget http://dl.dropbox.com/u/1397036/stora_di/stora-flash
chmod +x stora-flash
/root/stora-flash -i /boot/vmlinuz-2.6.32-6-kirkwood -r /boot/initrd.img-2.6.32-6-kirkwood

(les versions de vmlinuz i initrd poden variar)

En aquest punt ja tenim tot el sistema correcte a falta de configurar l’autoarranc per a que arranque linux. Primer fem una prova en manual per a comprovar que el sistema arranca sense problemes. Així que es reinicia, es torna a cancelar l’autoarranc i s’executen les següents ordres:

setenv bootcmd_ide 'ide reset; ext2load ide 0 0x200000 /boot/uImage; ext2load ide 0 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/sda1; run bootcmd_ide; bootm 0x200000 0x800000'
boot

Si arranca sense problemes (com m’ha passat a mi) ja podem respirar tranquils, jejeje. Indicar que el linux no agarra l’hora del maquinari, instal·lar el paquet ntpdate-debian per a que actualitze l’hora. Sino es pot fer manual:

date --set "2016-10-07 14:35"

Aixina no ens eixiran missatges indicant que hi ha paquets que s’han creat al futur.

Seguint el que he fet jo, passem a configurar el RAID i després a actualitzar de debian 6 a debian 7. Però supose que es pot invertir l’ordre, primer actualitzar i després configurar el RAID

Amb aquesta instal·lació no es modifica res de l’anterior sistema d’arranc. Per a tornar a utilitzar el firmware del NAS el que es farà és tornar a posar els valors de les variables env al seu lloc (ixes que hem guardat abans!).

Instal·lació Debian al NAS:
http://www.openstora.com/wiki/index.php?title=How_to_install_Debian_Linux_on_NETGEAR_Stora