Jump to content
XPEnology Community

Search the Community

Showing results for tags 'linux'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Information
    • Readers News & Rumours
    • Information and Feedback
    • The Noob Lounge
  • XPEnology Project
    • F.A.Q - START HERE
    • Loader Releases & Extras
    • DSM Updates Reporting
    • Developer Discussion Room
    • Tutorials and Guides
    • DSM Installation
    • DSM Post-Installation
    • Packages & DSM Features
    • General Questions
    • Hardware Modding
    • Software Modding
    • Miscellaneous
  • International
    • РУССКИЙ
    • FRANÇAIS
    • GERMAN
    • SPANISH
    • ITALIAN
    • KOREAN

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 2 results

  1. ***For experienced individuals comfortable with synology and linux command line, I take no responsibility for any issues encountered*** ***Read fully before considering*** Please read all necessary documentation for setting up Xpenology before reading this guide. Try the start-here guides below: https://xpenology.com/forum/forum/83-faq-start-here/ This guide docuements the process of using Linux to modify the synoboot.img for your environment and writing to a usb hard drive. Additonally, this guide shows the upgrade process from 6.1.7 to 6.2.2 with extra drivers (extra.lzma file), your use case my not have the same requirements, so please make you know the process for your environment regardless of the directions shown here. Collect required files ***this guide is using synology model 3617, adjust accordingly for the model you want to use*** Recommended to save your files to a unique folder on your system, in this example we will use folder "xpenology-3716-20200215" (model and timestamp) Download the 6.2 boot loader from this post: https://xpenology.com/forum/topic/12952-dsm-62-loader/ Downloaded extra drivers files from this post (this post also includes links to the synology pat file as well): ***Extra Drivers are only needed if your devices are not supported by the current boot loader files*** https://xpenology.com/forum/topic/21663-driver-extension-jun-103b104b-for-dsm622-for-3615xs-3617xs-918/ Download the synology pat file (from the post above) Extact files for modifications Extract synoboot zip file unzip synoboot_3617.zip -d synoboot Extract extra drivers zip file unzip extra3517_v0.5_test.zip -d extra_lzma Extract Synology DSM pat file ***Requires 7zip*** Install 7zip for your linux distribution (example shown is Ubuntu) sudo apt install p7zip-full p7zip-rar Use 7zip to extract pat file 7z -odsm x DSM_DS3617xs_24922.pat Your folder should now have 3 new folders within as shown ls -1 Output: dsm <--- new folder DSM_DS3617xs_24922.pat extra3617_v0.5_test.zip extra_lzma <--- new folder synoboot <--- new folder synoboot_3617.zip Create mount folders to modify synoboot.img files make these folders to mount the partitions of the synoboot.img for editing mkdir usb mkdir usb/part1 mkdir usb/part2 mkdir usb/part3 Mount synoboot.img partitions First view the partition layout of the synoboot.img for mounting information fdisk -l synoboot/ds3617_6.2/synoboot.img Output: Disk synoboot/ds3617_6.2/synoboot.img: 50 MiB, 52428800 bytes, 102400 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: B3CAAA25-3CA1-48FA-A5B6-105ADDE4793F Device Start End Sectors Size Type synoboot/ds3617_6.2/synoboot.img1 2048 32767 30720 15M EFI System synoboot/ds3617_6.2/synoboot.img2 32768 94207 61440 30M Linux filesystem synoboot/ds3617_6.2/synoboot.img3 94208 102366 8159 4M BIOS boot Important mounting information Units byte size: here its 512 bytes Start byte for each partition: to mount these partitions you need to multiply the start byte by the unit byte size for the offset Mount partition 1 (we use bash arithmetic expansion to multiple the offset) sudo mount -o loop,offset=$((512*2048)) synoboot/ds3617_6.2/synoboot.img usb/part1 Mount partition 2 sudo mount -o loop,offset=$((512*32768)) synoboot/ds3617_6.2/synoboot.img usb/part2 Mount partition 3 ***This partition does not get modified and does not need to be mounted, but shown for those interested in looking at the contents*** sudo mount -o loop,offset=$((512*94208)) synoboot/ds3617_6.2/synoboot.img usb/part3 Collect required hardware information for modifying grub.cfg in partition 1 Get USB vid/pid information ***Run this command before plugging in your usb drive*** lsusb Output: Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 1bcf:2c07 Sunplus Innovation Technology Inc. Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Plugin your USB drive and run lsusb again to see the new device (comparing the two outputs makes this easier to know which drive is the USB) Output: Bus 002 Device 009: ID 0781:5583 SanDisk Corp. <--- new drive Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 1bcf:2c07 Sunplus Innovation Technology Inc. Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Our USB VID is 0781 Our USB PID is 5583 Get Network Interface Card (NIC) MAC address Find MAC address of NIC on your synology device (can be found in bios, use a bootable usb linux distribution, or physical nic mac information on card label if available) Our MAC was in the bios of our motherboard, it is 90:2B:34:AC:9F:C4 If you have access to your device through cli you can use ifconfig to find the MAC address as well Get Synology Serial Number Generate a serial number for the model being used or use existing if your device is being upgraded (https://xpenogen.github.io/serial_generator/index.html) Our Serial Generated is 1130ODN024917 (Note these are not official synology serial numbers) We will use these values for modifying grub.cfg on partition 1 Modify grub.cfg on partition 1 ***VIM is the editor used to modify files, please ensure you are familiar with the editor you choose*** Edit grub.cfg sudo vi usb/part1/grub/grub.cfg Modify the following lines (Shift+i to go into insert mode in VIM) set vid=0x0781 <--- Our VID found earlier set pid=0x5583 <--- Our PID found earlier set sn=1330NZN022235 <--- Our Serial Number generated earlier set mac1=902B34AC9FC4 <--- Our NIC MAC address found earlier ***You may want to modify SataPortMap for your environment and timeout if you want a faster boot time when grub loads*** Save changes (Hit escape a few times) :wq (write and quit) Add extra driver files (optional) to partition 2 ***Only needed if you require extra drivers*** List current files in partition 2 to view permissions and ownership ls -la usb/part2/ Output: total 11068 drwxr-xr-x 2 root root 16384 Dec 31 1969 ./ drwxrwxr-x 3 user user 4096 Feb 16 09:46 ../ -rwxr-xr-x 1 root root 1860613 Aug 1 2018 extra.lzma* -rwxr-xr-x 1 root root 6441636 Aug 1 2018 rd.gz* -rwxr-xr-x 1 root root 3006864 Aug 1 2018 zImage* Copy extra.lzma file to partition 2 sudo cp extra_lzma/extra.lzma usb/part2/ sudo cp dsm/rd.gz usb/part2/ sudo cp dsm/zImage usb/part2/ List files in partition 2 to view permissions and ownership after copy ls -la usb/part2/ Output: total 13748 drwxr-xr-x 2 root root 16384 Dec 31 1969 ./ drwxrwxr-x 3 user user 4096 Feb 16 09:46 ../ -rwxr-xr-x 1 root root 4570532 Feb 16 09:55 extra.lzma* -rwxr-xr-x 1 root root 6465192 Feb 16 09:58 rd.gz* -rwxr-xr-x 1 root root 3019392 Feb 16 09:58 zImage* Each file should retain root ownership and permissions, the files copied should have a different size and date stamp Unmount partitions sudo umount usb/part1/ sudo umount usb/part2/ sudo umount usb/part3/ confirm each partition is unmounted ls -la usb/part1/ ls -la usb/part2/ ls -la usb/part3/ Output: total 8 drwxrwxr-x 2 user user 4096 Feb 16 09:46 ./ drwxrwxr-x 3 user user 4096 Feb 16 09:46 ../ Find USB device name Ensure USB drive is unplugged ls -1 /dev/sd* Output: /dev/sda /dev/sda1 This shows the existing storage devices, sda is the drive (my laptop root hdd), sda1 is the first partition Plug in your USB drive ls -1 /dev/sd* Output: /dev/sda /dev/sda1 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 You may not see the same partitions, but you want to see the additional device (sdb) showing Format USB drive ***Please backup any data you want to retain from this drive, as it will be lost*** ***Commands shown here are potentially dangerous, make sure you know the correct drives to format and double check your syntax (or use an alternative tool within your comfort level)*** Unmount any partitions that may have auto mounted (example shown here attempts to unmount any drives listed for the USB drive device sdb) sudo umount /dev/sdb1 sudo umount /dev/sdb2 sudo umount /dev/sdb3 Wipe all filesystems off existing drive sudo wipefs --all /dev/sdb Output: /dev/sdb: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54 /dev/sdb: 8 bytes were erased at offset 0xe51fffe00 (gpt): 45 46 49 20 50 41 52 54 /dev/sdb: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa /dev/sdb: calling ioctl to re-read partition table: Success Check USB drive layout sudo fdisk -l /dev/sdb Output: Disk /dev/sdb: 57.3 GiB, 61505273856 bytes, 120127488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Confirm clean output without any partitions remaining Write Synoboot Image to USB drive ***Commands shown here are potentially dangerous, make sure you know the correct drives to write to and double check your syntax*** sudo dd if=synoboot/ds3617_6.2/synoboot.img of=/dev/sdb bs=512 Output: 102400+0 records in 102400+0 records out 52428800 bytes (52 MB, 50 MiB) copied, 9.14248 s, 5.7 MB/s Check drive and partition information to ensure it was written correctly sudo fdisk -l /dev/sdb Output: GPT PMBR size mismatch (102399 != 120127487) will be corrected by w(rite). <--- this can be ignored, it alerts because fdisk does not support GPT partitions Disk /dev/sdb: 57.3 GiB, 61505273856 bytes, 120127488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: B3CAAA25-3CA1-48FA-A5B6-105ADDE4793F Device Start End Sectors Size Type /dev/sdb1 2048 32767 30720 15M EFI System /dev/sdb2 32768 94207 61440 30M Linux filesystem /dev/sdb3 94208 102366 8159 4M BIOS boot Unmount and plug into your Xpenology device sudo umount /dev/sdb1 sudo umount /dev/sdb2 sudo umount /dev/sdb3 Last minute changes after write You can still make changes to the paritions/files on the USB drive by mounting the partition on your system sudo mount /dev/sdb1 usb/part1 sudo mount /dev/sdb2 usb/part2 sudo mount /dev/sdb3 usb/part3 This mounts the usb drive directly to the folder specified, you can edit files as per previous steps in the guide
  2. Hi, Well, I am a newbie here, and it is a bit off, so sorry for that. But I am looking for help with the DSM porting, and I thought this is the best place where I Can ask my questions. I have an ARMv5 NAS, and I decided to install the DSM-111's fw on it (6.1.5 extracted from the pat file). It boots up fine, and I Can see the Diskstation login: over serial console. But I have no NIC support. Maybe because the kernel doesn't support my RTL8168 NIC by default? I Could see these errors and informations in the console about the network: [ 10.950000] ERROR: sflash_probe - Failed to initialize the SFlash.Loading Marvell Ethernet Driver: [ 10.960000] o Cached descriptors in DRAM [ 10.960000] o DRAM SW cache-coherency [ 10.970000] o 2 Giga ports supported [ 10.970000] o Single RX Queue support - ETH_DEF_RXQ=0 [ 10.970000] o Single TX Queue support - ETH_DEF_TXQ=0 [ 10.980000] o TCP segmentation offload (TSO) supported [ 10.980000] o Receive checksum offload supported [ 10.990000] o Transmit checksum offload supported [ 10.990000] o SKB Recycle supported - (Enabled) [ 11.000000] o Rx descripors: q0=128 [ 11.000000] o Tx descripors: q0=532 [ 11.010000] o Loading network interface(s): [ 11.010000] o register under mv88fx_eth platform [ 11.020000] o eth0, ifindex = 2, GbE port = 0 [ 11.020000] o eth0, phy chipid = fffffff0, Support WOL = 0 [ 11.030000] [ 11.030000] Warning: Giga 1 is Powered Off cat: can't open '/proc/sys/kernel/syno_skip_vender_mac_interfaces': No such file or directory [ 21.930000] eth0: started udhcpc (v1.16.1) started eth0 Link encap:Ethernet HWaddr <removed> UP BROADCAST MULTICAST 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:532 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:11 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 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) Also, I tried to compile the kernel module manually, but as I Could see, the magic numbers are differs. $ readelf -h ./8192cu.ko ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: ARM Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 6346960 (bytes into file) Flags: 0x5000000, Version5 EABI Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 5069 Section header string table index: 5066 $ readelf -h ./lib/modules/2.6.32.12/kernel/net/netfilter/nf_conntrack.ko ELF Header: Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: ARM ABI Version: 0 Type: REL (Relocatable file) Machine: ARM Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 37228 (bytes into file) Flags: 0x600, GNU EABI, software FP, VFP Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 265 Section header string table index: 262 The first one is the original one, and the second one is a manually compiled module using the Marvell 6281 6.1 GPL sources. I think it won't work because of the small difference... :\ Or will it? What I am doing wrong? Thanks a lot!
×
×
  • Create New...