our0

Installation sur DNS-320

Recommended Posts

Le fait que ce sujet soit ré-activé m'a donné envie de me pencher de nouveau sur le problème.

 

J'ai maintenant un accès par port série à mon NAS. Pour info j'ai utilisé un convertisseur MAX232 et la vitesse de communication doit être fixée à 115 200 baud dans le logiciel (j'utilise Putty). N'importe quel adaptateur USB-Série peut sûrement convenir pour arriver au même résultat.

Une fois le système booté, j'ai un accès console standard avec les droits root. J'ai inséré une clé USB pour voir ce que ça faisait et le périphérique est monté automatiquement, ce qui me permet d'en visualiser le contenu.

J'arrive à interrompre la séquence de boot pour accéder à la console Uboot grâce à cette astuce. D'après mes essais il suffit d'entrer la séquence "Espace (puis) 1" dès que la console affiche les premiers signes de vie (tout début du démarrage). Mais avec tout ça je ne sais pas vraiment comment je peux forcer le démarrage depuis mon stockage amovible.

 

Pour la suite je pensais essayer de suivre la méthode classique de XPEnology, à savoir démarrer un "synoboot" puis flasher le DSM par l'assistant d'installation. Je n'ai par contre aucune idée de la marche à suivre pour créer mon synoboot et je ne trouve rien de précis à ce sujet. J'ai téléchargé des synoboot classiques de XPEnology mais ça ne m'en apprend pas beaucoup plus.

Quelqu'un peut-il m'aider à ce sujet ? Je me doute que ça ne fonctionnera pas aussi simplement que je l'espère mais ce sera déjà un début.

 

--

EDIT : J'ai trouvé la commande "usbboot" de u-boot qui devrait m'aider :smile: (Si ça ne fonctionne pas il y a toujours la solution TFTP.) Reste plus que le fichier "synoboot" à créer et à balancer sur la clé...

 

Pour info :

U-Boot 1.1.4 (Apr 19 2012 - 11:21:19) Marvell version: 3.6.0.DNS-320B.01

Marvell>> help
?       - alias for 'help'
SatR - sample at reset sub-system, relevent for DB only
base    - print or set address offset
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootext2    dev:boot_part1,boot_part2 addr boot_image linux_dev_name
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
bubt    - Burn an image on the Boot Nand Flash.
chpart  - change active partition
cmp     - memory compare
cmpm    - Compare Memory
cp      - memory copy
cpumap - Display CPU memory mapping settings.
crc32   - checksum calculation
date    - get/set/reset date & time
dclk    - Display the MV device CLKs.
dhcp    - invoke DHCP client to obtain IP/boot params
diskboot- boot from IDE device
echo    - echo args to console
eeprom  - EEPROM sub-system
erase   - erase FLASH memory
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fi      - Find value in the memory.
flinfo  - print FLASH memory information
fsinfo  - print information about filesystems
fsload  - load binary file from a filesystem image
g       - start application at cached address 'addr'(default addr 0x40000)
go      - start application at address 'addr'
help    - print online help
icrc32  - checksum calculation
ide     - IDE sub-system
iloop   - infinite loop on address range
imd     - i2c memory display
iminfo  - print header information for application image
imm[.b, .s, .w, .l]     - i2c memory modify (auto-incrementing)
imw     - memory write (fill)
inm     - memory modify (constant address)
iprobe  - probe to discover valid I2C chip addresses
ir      - reading and changing MV internal register values.
loop    - infinite loop on address range
ls      - list files in a directory (default /)
map     - Diasplay address decode windows
md      - memory display
me      - PCI master enable
mm      - memory modify (auto-incrementing)
mmcinit - init mmc card
mp      - map PCI BAR
mtdparts- define flash/nand partitions
mtest   - simple RAM test
mw      - memory write (fill)
nand                   - NAND sub-system
nboot   - boot from NAND device
nbubt   - Burn a boot loader image on the Boot Nand Flash.
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
phyRead - Read PCI-E Phy register
pciePhyWrite    - Write PCI-E Phy register
phyRead - Read Phy register
phyWrite        - Write Phy register
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
rcvr    - Satrt recovery process (Distress Beacon with TFTP server)
reset   - Perform RESET of the CPU
resetenv        - Return all environment variable to default.
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
se      - PCI Slave enable
setenv  - set environment variables
sflash  - read, write or erase the external SPI Flash.
sg      - scanning the PHYs status
sp      - Scan PCI bus.
switchRegRead   - Read switch register
switchRegWrite  - Write switch register
Temp    - read chip Tj temp
tftpboot- boot image via network using TFTP protocol
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version

Share this post


Link to post
Share on other sites

Hello Just1,

 

C'est déjà une belle avancée congratz :smile:

 

C'est une question bête mais en placant le fichier XPEnology par exemple : XPEnoboot_DS3615xs_5.2-5644.5.img sur la clé USB, puis en modifiant le fichier de conf dans l'img pour placer l'option 3 par défaut ( option ( install/upgrade)).

 

Il suffirait de booter sur la clé puis via un pc en utilisant Synology assisatant, il devrait découvrir le NAS, non ?

 

Désolé, mes connaissances sur les subtilitées systeme sont assez limitée... donc ma remarque n'a peut être pas trop de sens...

Share this post


Link to post
Share on other sites

J'ai installé XPEnology sur une machine virtuelle pour voir comment ça se déroulait. En parallèle j'ai pas mal fouillé dans u-boot et sur le web et je commence à avoir des idées pour démarrer le Linux Synology depuis une clé USB.

 

Avant de faire de grosses bêtises, j'aimerais assurer le coup et faire une sauvegarde de ma mémoire NAND. Cela me permettra :

  • de revenir en arrière en cas de problème
  • de repartir de zéro pour documenter/automatiser la procédure de basculement vers DSM, dans le cas où ça fonctionnerait

Quelqu'un peut-il m'aider sur ce coup là ? Je ne suis pas du tout un expert de u-boot...

Share this post


Link to post
Share on other sites

Hello Just1,

 

Je n'ai pas de grosses connaissances système donc je ne peux pas vraiment t'aider, toutefois en cherchant un peu sur le net je suis tombé sur ces topics, en esperant que cela puisse t'aider :

 

- https://hackriculture.fr/liberez-votre- ... btrfs.html

- http://forum.doozan.com/read.php?3,11361,11361,quote=1

-- Fait reference à : http://forum.doozan.com/read.php?3,6965

- http://jamie.lentin.co.uk/devices/dlink ... -firmware/

 

Je continue de chercher si je trouve des infos pour unbreaker les NAS D-Link

 

Bon courage

Share this post


Link to post
Share on other sites

J'ai un peu avancé sur le sujet mais rien d'extraordinaire pour l'instant. J'arrive à démarrer mon NAS avec un système Synology minimaliste (la RAMdisk) à partir du kernel Linux d'origine du D-Link. C'est un très bon début mais ensuite je suis bloqué sur un "DiskStation login:" .

 

Il n'y a apparemment pas de mot de passe défini pour le compte "admin" mais la console n'accepte pas les mots de passe vides, je n'ai donc pas de possibilité d'exécuter la moindre commande. Pour créer un mot de passe il faudrait que j'ai accès au DSM, ce que je n'ai pas...

D'autre part le NAS n'est pas visible depuis le Synology Assistant. En fait l'interface réseau ne se lance même pas, la seule interface disponible est le Local Loopback (lo), soit 127.0.0.1 . J'obtiens ceci dans le bootlog :

/etc/rc.network: line 1: /usr/syno/bin/ethtool: not found

lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

/etc/rc.network: line 1: ethtool: not found

 

J'évolue actuellement sur 2 axes :

  • Lancer le kernel Synology qui va avec la RAMdisk, ce qui ne fonctionne pour l'instant pas et pose des problèmes pour la suite. [edit]Je rappelle que j'utilise un DNS-320 rev B qui tourne sur un processeur 88F6702. Aucun produit Synology n'utilise ce processeur donc il n'y a aucun fichier source disponible, contrairement au DNS-320 à base de 88F6281.[/edit] J'espère avoir de l'aide de la part de la communauté de plusieurs forums mais pour l'instant c'est sans résultat.
    Load sky2.ko...
    sky2: version magic '2.6.32.12 mod_unload ARMv5 ' should be '2.6.31.8 mod_unload ARMv5 '
    Load synobios.ko...
    ds210j_synobios: version magic '2.6.32.12 mod_unload ARMv5 ' should be '2.6.31.8 mod_unload ARMv5 '


  • Modifier l'image RAMdisk pour que tout fonctionne normalement, notamment en y ajoutant les outils manquants et en modifiant éventuellement les deux modules posant problème.

 

Pour info, voici les forums sur lesquels j'ai posté mon appel au secours concernant le premier point :

https://archlinuxarm.org/forum/viewtopi ... 53&t=10161

http://forum.doozan.com/read.php?3,27879

http://forum.kernelnewbies.org/read.php?18,116956

 

Vraiment dommage que our0 et terence34 ne soient plus activement impliqués dans les recherches, ça aurait pu débloquer la situation...

Share this post


Link to post
Share on other sites

Bonjour Just1,

 

Désolé, d'avoir déserté le forum depuis pas mal de temps, mais tu as de la chance car je viens de voir tes posts.

 

Je vais tenter de t'éclairer un peu...

 

J'avais réussi à installer un DSM 4 (à l'époque) sur le DNS-320 (Rev A) et de le faire fonctionner.

J'utilisais le kernel Syno durant mes tests, mais j'ai très vite abandonné car malheureusement ce kernel ne prenait pas en charge la gestion du FAN du DNS.

(J'avais peur qu'il y est d'autre chose qui pourrait également non intégré par ce kernel. Alors j'ai abandonné)

 

J'avais également essayé de recompiler le kernel Syno en choisissant le modèle de carte du D-Link, mais je pense qu'il manque certaines choses du code pour que la compilation aboutisse.

Et je ne suis pas suffisamment "calé" sous linux pour corriger toutes les erreurs.

 

Durant mes tests j'avais pu me loguer en admin car j'avais trouvé sur le web que le mot de passe était un calcul sur la date en cours.

 

Je t'ai retrouvé ça : https://wrgms.com/synologys-secret-telnet-password/

 

 

Ce projet est un peu loin mais si je peux répondre à certaines de tes interrogations, je le ferais avec plaisir...

 

 

Terence34

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

Just1 as-tu avancé sur ta tentative de démarrage de DSM sur ton DNS-320L ?

 

quand tu dis : "J'arrive à démarrer mon NAS avec un système Synology minimaliste (la RAMdisk) à partir du kernel Linux d'origine du D-Link. ", quelle est ta méthode pour y arriver ?

 

Peux-tu nous fournir les fichiers que tu exploites sur ton projet ?

 

Si l'interface reseau ne démarre pas il est plus que probable que le ramdisk syno ne contient pas le .ko qui gère la carte reseau du DNS-320L, il faudrait reprendre ce qui existe chez dlink et le réinjecter dans le ramdisk.

Share this post


Link to post
Share on other sites

Bon j'ai aussi avancé de mon coté,

 

J'ai testé différents kernel en tftpboot j'arrive moi aussi au login Diskstation, je peux accéder au root.

 

Cependant, meme si l'interface reseau est reconnu (eth0), je n'arrive pas à y accéder depuis un pc. Meme en assignant une ip fixe....

 

 

le synobios doit bloqué l'interface reseau :sad:

Share this post


Link to post
Share on other sites

Juste un petit coucou rapide pour signifier que je suis vivant. Au passage merci beaucoup à @Terence34 pour les informations.

Il faut que je prenne le temps pour faire un bilan complet de mes essais avant de me remettre dedans, mais pour l'instant je ne m'en suis pas donné l'occasion. J'ai aussi créé un dépôt GitHub sur lequel on pourrait échanger nos solutions.

 

Pour répondre succinctement à la question de @MagicSeb, moi je boote avec uboot à partir d'une clé USB. J'ai également commencé à réfléchir à un flashage "pour tous" (redémarrage sur le uboot à partir de SSH ou Telnet) mais je ne donne pas de détails pour l'instant car cela ne nous sera d'aucune aide.

 

A+

Share this post


Link to post
Share on other sites

Salut :wink:

 

Je constate que le sujet avance doucement et surtout qu'il intéresse de nombreuses personnes. J'avais moi-même un DNS-320 il y a quelques années, mais vu que l'alim avait claquée et que le DNS-320, ben, c'est pas une bête de course j'ai vite tourné la page pour m'orienter vers XPEnology.

 

Je trouve l'exploit intéressant ! Certes tout est possible et je pense que vous n'êtes pas loin d'y arriver, mais le matos a maintenant tellement d'années (de mi-2011) que l'investissement en coût de développement par rapport au coût du matériel est-il réellement intéressant ?

 

En tout cas bon courage :wink:

Share this post


Link to post
Share on other sites

Après plusieurs essais infructueux, j'ai décidé de lacher l'affaire sur cette tentative de portage de DSM vers le DNS-320L

 

Je reste bloqué sur la connection reseau :

- Adresse de type 169.254.x.x (comme si le cable reseau n'est pas branché)

- impossible de pinger le boitier meme en reliant les machines avec un cable croisé

- les tentatives de modif via ifconfig ne donne rien.

 

J'ai trouvé un ftp https://ftp.anionix.ru/WDMyCloud/

 

Dedans il y a de quoi transformer un WD mymirror en dsm fonctionnel. Cependant le CPU n'est pas le même que le dns-320l

 

Il y a aussi un synobios modifié que j'ai réussi à compiler, mais ca n'a rien donnée non plus.

 

Dommage, si il n'y avait pas ce soucis de reseau, je crois que c'etait good.

 

En attendant mon xpenology pc suffira amplement.

Share this post


Link to post
Share on other sites