Jump to content
XPEnology Community

Aigor

Member
  • Posts

    690
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Aigor

  1. Aigor

    DSM 6.1.x Loader

    As far i remember N54L is AMD turion, at now there isn't any AMD in 6.1 bootloader. Or, bootloader doesn't contains drivers for your network card. If you have serial cable connect another pc to N54L serial port to show boot log
  2. It' was my mistake or the script try to compile modprobe?
  3. The scripts miss the interesting bits Well, there ARE references to them, but the interesting bits and pieces (patcher, etc.) are all excluded. Look better, it miss also another piece Did you check scripts set? i have some questions about, due to my lack i don't understand how it works the part where i can run menuconfig
  4. Not defending or blaming anyone. If the devs wanted the source code published they would already have done it. I'm sure they are smart enough to think about that. As mush as I understand the people's wish to see the source code, exposing the source publicly would only serve the community negatively. This project does step on some boundaries and I don't think that it is a good idea to show what is done under the hood. The help that the devs needs in my opinion is the compilation of drivers for a broader compatibility. Right, and it's' my "summer project" but i need to understand because i would like to build my own bootloader with my set of drivers. It was not my intention to blame Jun, i say thanks to him for his works and thanks for scripts
  5. About "own bootloader" If you check in Jun's open post there is link to script to build bootloader, i'm in stage to understand how it works, but i'm not skilled programmer, and, i'm not a skilled kernel programmer. I have some problems, but if Jun don't want to share the whole process, we can only reverse his job.
  6. Questa è la procedura standard per compilare i moduli kernel, però ce ne possono essere alcuni che richiedono proprio un kernel tutto nuovo, in questo caso dovresti sostituire anche il bzImage nella chiavetta usb, e qui la faccenda si fa un zinzinello più complessa. Grazie per l'apprezzamento
  7. Che bootloader stai usando?
  8. In questo caso perdi i pacchetti ed eventuali personalizzazioni, ma i dati rimangono
  9. Another sysadmin i have little room to play with hardware, in my "lab" i have only two baremetal, one Gen8 in which there is installed xpenology, and one A1SAi-2750F with 32 Gb of ram in which there is my Vmware lab both are connected via 10Gb network without any switches
  10. If you look here viewtopic.php?f=2&t=20216 You can found a git link to scripts used by Jun to create your own bootimage, i'm in the " how it works" and there are some tricks to do to obtain a regular boot image. If you have needed knweldge, you can try by yourself.
  11. Reinstalla la 5.2, tira via la chiavetta usb e mettici sopra il loader 5.2, poi procedi con il boot e l'installazione del sistema operativo, quando ti propone di reinstallare o migrare, scegli migra, al peggio dovrai solo reimpostare l'indirizzo ip
  12. I don't think it's a good idea use quickconnect, if you buy a real synology you pay also to use qc, we are using synology software without paying, so i think it's good thing not use synology systems To reach own synobox via internet need only 2 lines of PAT into router.
  13. it's' kernel config parameter, CONFIG_X86_MINIMUM_CPU_FAMILY=8
  14. Questo Howto serve SOLO per compilare moduli di kernel che non sono già inclusi nella release standard di Synology Non serve per costruirsi una immagine di boot da mettere su chiavetta USB. Per poter raggiungere il nostro scopo abbiamo bisogno di 4 ingredienti. Una linux box, non importa la distribuzione Tutti i pacchetti necessari alla compilazione del kernel, in base alla distro, googolate per sapere come installarli. Un minimo di competenza in linux Sorgenti del kernel e delle toolchains. Piccola digressione, i toolchain sono tutti gli strumenti che mi permettono di compilare un kernel, o anche dei programmi, su una linux box che però dovranno girare in un ambiente diverso da quello su cui sto sviluppando/compilando. In gergo questo ci chiama cross compilazione e funziona anche con architetture diverse, per esempio potrei sviluppare su X86 e voler ottenere un eseguibile che giri su raspberry. N.B. le schermate che seguono sono prese dalla mia macchina sulla quale c'e' Centos7 senza ambiente grafico, ma valgono per qualunque sistema unix/linux. N.B.2 Non scrivo ogni singolo passaggio confidando che sappiate di cosa parliamo e che abbiate una certa dimestichezza con linux, quindi non spiegherò come editare e altre cose così basilari, se non le conoscete, questo howto non fa per voi, oppure, googolate per sapere i passaggi base. Cominciamo, come vedete abbiamo bisogno di questi 2 pezzi, ossia i sorgenti e i famosi toolchain. -rw-r--r--. 1 root root 300814480 14 mar 04.25 braswell-gcc493_glibc220_linaro_x86_64-GPL.tar -rw-r--r--. 1 root root 78099976 15 mar 04.46 linux-3.10.x.txz root@dev-linux:~# Questi sono i link https://downloads.sourceforge.net/project/dsgpl/Synology%20NAS%20GPL%20Source/15047branch/braswell-source/linux-3.10.x.txz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fdsgpl%2Ffiles%2FSynology%2520NAS%2520GPL%2520Source%2F15047branch%2Fbraswell-source%2F&ts=1490265668&use_mirror=netix https://downloads.sourceforge.net/project/dsgpl/DSM%206.1%20Tool%20Chains/Intel%20x86%20Linux%203.10.102%20%28Braswell%29/braswell-gcc493_glibc220_linaro_x86_64-GPL.txz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fdsgpl%2Ffiles%2FDSM%25206.1%2520Tool%2520Chains%2FIntel%2520x86%2520Linux%25203.10.102%2520%2528Braswell%2529%2F&ts=1490265766&use_mirror=netix per farne il download da console dovrete usare wget che di norma è presente in quasi tutte le distro, eventualmente leggete come installarlo in base alla distro che avete. Una volta scaricati entrambi i pacchetti, gli dovete cambiare nome, wget li chiama come tutto il link, quindi prima di qualunque cosa cambiategli nome. Sistemati i nomi dobbiamo scompattare il toolchain nella cartella /usr/local ( non e' obbligatorio usare per forza questa cartella, ma poi dovrete ricordarvi dove lo avete installato ) Una volta scompattato otterrete qualcosa di simile a questo. root@dev-linux:/usr/local#ls -l totale 94104 drwxr-xr-x. 3 root root 17 5 nov 16.38 bin drwxr-xr-x. 8 root root 4096 15 ago 2013 x86_64-pc-linux-gnu root@dev-linux:/usr/local# come potete vedere c'e' una cartella che si chiama x86_64-pc-linux-gnu drwxr-xr-x. 8 root root 4096 15 ago 2013 x86_64-pc-linux-gnu Dove ci sarà tutto il necessario per compilare kernel e moduli. siccome non mi piace digitare comandi lunghi ho aggiunto l'alias in basso nella mia .bashrc se non sapere come si fa, google e' vostro amico alias dsm6.1make='make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-' Sostanzialmente la riga dice che quando digito "dsm6.1make" questo comando dovrà essere espanso con tutta la pappardella che sta dopo il simbolo "=" Ricordate quando dissi di segnarsi dove avevamo installato le toolchain ? ecco, se ci fate caso questo comando si riferisce proprio a quella cartella, quindi se le installate da un altra parte, semplicemente dovrete sostituire /usr/local/ con la cartella dove lo avete installato. Veniamo ai sorgenti del kernel vero e proprio, una volta scaricati vanno scompattati da qualche parte in modo che abbiate una cartella come questa. root@dev-linux:~#ls -l totale 546856 drwxr-xr-x. 26 root root 4096 21 mar 18.37 linux-3.10.x root@dev-linux:~# Se andate a vedere dentro i sorgenti trovate una cartella che si chiama synoconfigs al cui interno ci sono le configurazioni per il kernel che synology usa nei suoi prodotti, come potete vedere troviamo braswell, broadwell, bromolow e così via, fate riferimento alla vostra synology per sapere di che architettura si tratta. root@dev-linux:~/linux-3.10.x/synoconfigs#ls -l totale 1044 -rwxr-xr-x. 1 root root 104078 23 feb 13.42 avoton -rw-r--r--. 1 root root 42522 14 feb 17.25 back-porting-records -rw-r--r--. 1 root root 105510 23 feb 13.42 braswell -rw-r--r--. 1 root root 105948 23 feb 13.42 broadwell -rw-r--r--. 1 root root 105611 23 feb 13.42 bromolow -rw-r--r--. 1 root root 103555 23 feb 13.42 cedarview -rw-r--r--. 1 root root 103184 23 feb 13.42 dockerx64 -rw-r--r--. 1 root root 106337 23 feb 13.42 grantley -rw-r--r--. 1 root root 317 15 mar 04.35 Kconfig -rwxr-xr-x. 1 root root 5842 15 mar 04.35 Kconfig.basic -rw-r--r--. 1 root root 22639 15 mar 04.35 Kconfig.devices -rw-r--r--. 1 root root 18956 15 mar 04.35 Kconfig.fs -rw-r--r--. 1 root root 2068 15 mar 04.35 Kconfig.misc -rw-r--r--. 1 root root 1492 15 mar 04.35 Kconfig.network -rw-r--r--. 1 root root 922 15 mar 04.35 Kconfig.platform -rw-r--r--. 1 root root 104946 23 feb 13.42 kvmx64 -rw-r--r--. 1 root root 101368 23 feb 13.42 x86_64 root@dev-linux:~/linux-3.10.x/synoconfigs# Supponiamo che abbiate l'acrchitettura braswell e che siate nella cartella linux-3.10.x/synoconfigs Ora dobbiamo copiare la configurazione che ci interessa in modo da farla digerire al kernel che intendiamo compilare, il,comando è quello che vedete. Cosa dice? copia il file braswell nella cartella supriore chiamando .config root@dev-linux:~/linux-3.10.x/synoconfigs#cp braswell ../.config Perché .config? per due motivi, il primo, lo standard vuole che sia il nome del file per la configurazione del kernel, il secondo, perché in ogni sistema unix/linux i file che iniziano con il "." ( punto ) sono file nascosti e per visualizzarli bisogna usare il comando ls -a -l che dice di listare tutti i file disponendolo in colonna root@dev-linux:~/linux-3.10.x#ls -a -l totale 50540 drwxr-xr-x. 26 root root 4096 28 mar 13.50 . dr-xr-x---. 14 root root 4096 28 mar 13.49 .. drwxr-xr-x. 33 root root 4096 16 mar 16.48 arch drwxr-xr-x. 3 root root 4096 21 mar 17.24 block -rw-r--r--. 1 root root 105510 28 mar 13.50 .config -rw-r--r--. 1 root root 18693 29 lug 2015 COPYING -rw-r--r--. 1 root root 95317 29 lug 2015 CREDITS drwxr-xr-x. 5 root root 8192 21 mar 18.37 crypto root@dev-linux:~/linux-3.10.x# Ora veniamo alla configurazione vera e propria, il comando che vedete lancia la configurazione a menù del kernel, quindi qui spetta a voi decidere quali moduli includere root@dev-linux:~/linux-3.10.x#dsm6.1make menuconfig Finita la configurazione dobbiamo compilare i moduli con il seguente comando root@dev-linux:~/linux-3.10.x#dsm6.1make modules Finita la compilazione i moduli si troveranno nelle rispettive cartelle del kernel e si chiameranno "qualcosa.ko" senza doppi apici, se già sapete come si chiama il modulo che vi serve, copiatelo semplicemente nella vostra synology, altrimenti dovrete andare a cercare TUTTI i moduli e, per comodità, copiarli in una cartella della macchina su cui state compilando, nel mio caso la cartella si chiama /root/newmodules/ Il comando per cercare tutti i moduli all'interno del tree del kernel e copiarli in una cartella, è quello che vedete, questo va lanciato dalla cartella che contiene sia la cartella dei sorgenti del kernel che la cartella dove andranno i moduli root@dev-linux:~#find ./linux-3.10.x/ -iname "*.ko" -type f -exec cp -p {} ./newmodules/ \; Tutto qua, se notate passaggi poco chiari, o qualcosa che non capite, fatemelo notare. Non rispondo a messaggi del tipo: "come faccio ad aggiungere un alias nella mia .bashrc? e dove si trova sto file? " Come detto prima si presume che conosciate due cose di linux, se non le conoscete, semplicemente questo howto non vi serve. Ciao! Miao! Bau!
  15. Why there are a lot of messages about DSM into some hypervisor? I suppose it's usefull for testing purpose, i don't think it's' a good idea put some nas sofware on top on Hypervisor, but it's' only a my thought and without polemics. IMHO i prefer ESXi instead of HyperV
  16. Yes, me, but with dsm 6.0 look that viewtopic.php?f=2&t=29976 and, if it's not related to DSM6.1 please, use related thread
  17. You could use Jun scripts in first post on thread about new-loader
  18. First of all, this howto will not cover making a booloader, it covers only making modules. What we need? Only one linux box, not important which distro, and, of course, your knwoledge in linux. I use Centos7 so my screen is related to centos, and i don't use any window manager, only console. refer to your distro and install all packets needed for kernel compiling. We need only two pieces, toolchains and kernel source. First, make a folder where downoload packages will downloaded in my case i use my root home. -rw-r--r--. 1 root root 300814480 14 mar 04.25 braswell-gcc493_glibc220_linaro_x86_64-GPL.tar -rw-r--r--. 1 root root 78099976 15 mar 04.46 linux-3.10.x.txz root@dev-linux:~# And, link for that https://downloads.sourceforge.net/project/dsgpl/Synology%20NAS%20GPL%20Source/15047branch/braswell-source/linux-3.10.x.txz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fdsgpl%2Ffiles%2FSynology%2520NAS%2520GPL%2520Source%2F15047branch%2Fbraswell-source%2F&ts=1490265668&use_mirror=netix https://downloads.sourceforge.net/project/dsgpl/DSM%206.1%20Tool%20Chains/Intel%20x86%20Linux%203.10.102%20%28Braswell%29/braswell-gcc493_glibc220_linaro_x86_64-GPL.txz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fdsgpl%2Ffiles%2FDSM%25206.1%2520Tool%2520Chains%2FIntel%2520x86%2520Linux%25203.10.102%2520%2528Braswell%2529%2F&ts=1490265766&use_mirror=netix use wget and rename files at the and of download. As you can see we have toolchain and source. Go into /usr/local and expand toolchains to obtain something like this root@dev-linux:/usr/local#ls -l totale 94104 drwxr-xr-x. 3 root root 17 5 nov 16.38 bin drwxr-xr-x. 8 root root 4096 15 ago 2013 x86_64-pc-linux-gnu root@dev-linux:/usr/local# As you can see we have a folder called drwxr-xr-x. 8 root root 4096 15 ago 2013 x86_64-pc-linux-gnu In which there is all we need to compile. I don't like digit long comman, so i added an alias to my .bashrc alias dsm6.1make='make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-' As you know, if you choose another folder, you have to reflect the name of the folder as you can see in alias. Now we unpack kernel source, it's' not important where you expand source, in my case kernel fodler is in my home ( root in my case, yes, i'm almost insane to work as root ) root@dev-linux:~#ls -l totale 546856 drwxr-xr-x. 26 root root 4096 21 mar 18.37 linux-3.10.x root@dev-linux:~# Now, the fun part, in kernel source there is a folder where are located several config already prepared by Synology root@dev-linux:~/linux-3.10.x/synoconfigs#ls -l totale 1044 -rwxr-xr-x. 1 root root 104078 23 feb 13.42 avoton -rw-r--r--. 1 root root 42522 14 feb 17.25 back-porting-records -rw-r--r--. 1 root root 105510 23 feb 13.42 braswell -rw-r--r--. 1 root root 105948 23 feb 13.42 broadwell -rw-r--r--. 1 root root 105611 23 feb 13.42 bromolow -rw-r--r--. 1 root root 103555 23 feb 13.42 cedarview -rw-r--r--. 1 root root 103184 23 feb 13.42 dockerx64 -rw-r--r--. 1 root root 106337 23 feb 13.42 grantley -rw-r--r--. 1 root root 317 15 mar 04.35 Kconfig -rwxr-xr-x. 1 root root 5842 15 mar 04.35 Kconfig.basic -rw-r--r--. 1 root root 22639 15 mar 04.35 Kconfig.devices -rw-r--r--. 1 root root 18956 15 mar 04.35 Kconfig.fs -rw-r--r--. 1 root root 2068 15 mar 04.35 Kconfig.misc -rw-r--r--. 1 root root 1492 15 mar 04.35 Kconfig.network -rw-r--r--. 1 root root 922 15 mar 04.35 Kconfig.platform -rw-r--r--. 1 root root 104946 23 feb 13.42 kvmx64 -rw-r--r--. 1 root root 101368 23 feb 13.42 x86_64 root@dev-linux:~/linux-3.10.x/synoconfigs# As you can see we have brasweel, broadwell and bromolow, so choose right config that reflect you system. at now simple copy one file into . config in upper folder root@dev-linux:~/linux-3.10.x/synoconfigs#cp braswell ../.config Notice, in every unix syste, filename with "." ( dot ) for firts character, means hidden file, and can be showed using command ls -a -l to have liisting view root@dev-linux:~/linux-3.10.x#ls -a -l totale 50540 drwxr-xr-x. 26 root root 4096 28 mar 13.50 . dr-xr-x---. 14 root root 4096 28 mar 13.49 .. drwxr-xr-x. 33 root root 4096 16 mar 16.48 arch drwxr-xr-x. 3 root root 4096 21 mar 17.24 block -rw-r--r--. 1 root root 105510 28 mar 13.50 .config -rw-r--r--. 1 root root 18693 29 lug 2015 COPYING -rw-r--r--. 1 root root 95317 29 lug 2015 CREDITS drwxr-xr-x. 5 root root 8192 21 mar 18.37 crypto root@dev-linux:~/linux-3.10.x# as you can see there is a file named .config that is a clean config file used by synology. At this moment we have to run kernel configuration simply running our alias alreadi defined in our .bashrc and proced with regular ketnel config like we want. root@dev-linux:~/linux-3.10.x#dsm6.1make menuconfig at end of you configuration, run compilation via root@dev-linux:~/linux-3.10.x#dsm6.1make modules At end of compilation you have all modules compiled in several folder, they are named something.ko To have a complete list of modules you can use find to found every .ko and copy them into some folder, for example, /root/newmodules/ root@dev-linux:~#find ./linux-3.10.x/ -iname "*.ko" -type f -exec cp -p {} ./newmodules/ \; in folder HOME/newmodules, there are all new compiled modules, or, if you know which modules you need, you can simply scp in your nas. I hope is clear, if you find some errors, or something you don't understand, let me know. I'm not native English speaking, so it's highly possibile there are some grammar errors so, be patient Thanks
  19. Off Topic Hi, are you the same CrazyCreator on Insanelymac?
  20. Do you compile using their scripts/tools? It would've being great if you could write some instructions on what is needed to compile the kernel from source. I will arrange a Howto in the afternoon
  21. You have to set heartbeat network card to MTU 9000 and both host need to have a physical serial port on.
  22. Aigor

    DSM 6.1.x Loader

    If you want to see bootlog, you have to create a new hardware device , com port, and redirect into file in VM folder in datastore where VM is
  23. Aigor

    DSM 6.1.x Loader

    Is possible add console without redirect bootlog into serial port? Why this bootloader need to log into only serial port?
  24. They compile well with some warning , usefull to add new drivers not included in standard synology distribution. A usefull kernel module is config.ko, it exports kernel config into /proc
×
×
  • Create New...