ds-101g+에 ds-106e의 펌웨어를 올리는 방법을 설명합니다.
거의 참고 사이트를 번역한 수준에 불과합니다.
제가 사용한 펌웨어 정보는 다음과 같습니다.
DS-106e Version: DSM 2.0-0598; Build Date: 2008/04/13
1. 펌웨어 압축 풀기
# tar xvf synology_powerpc_106e_0598.pat
# rm synology_powerpc_106e_0598.pat
2. 버전 파일 수정
파일 VERSION을 아래와 같이 수정합니다.
majorversion=”2″
minorversion=”0″
buildphase=”3″
buildnumber=”0598″
builddate=”2008/04/12″
unique=”synology_powerpc_101g+_1hd“
3. CRC32 생성
3가지 방법이 있습니다. 아래 셋 중 하나로 하면 됩니다.
A. cksum 이용
# cksum -o 2 VERSION
0e2d2e9b 122 VERSION
B. cfv 이용 (apt-get install cfv로 설치)
# cfv -t crc -C -f – VERSION
Generated by: cfv (v1.18)
Generated at: Wed, 30 Apr 2008 11:00:20
Find it at: http://cfv.sourceforge.net/Filename Filesize CRC-32 Description
——– ———- ——–
VERSION 127 0e2d2e9b
——– ———- ——–Count of files: 1
Total of sizes: 127
-: 1 files, 1 OK. 0.040 seconds, 3.1K/s
C. cksfv 이용(2017-02-04 추가)
bootstrap을 먼저 설치하고 아래와 같이 진행
# ipkg install cksfv
# cksfv VERSION
; Generated by cksfv v1.3.14 on 2017-02-04 at 12:38.10
; Project web site: http://www.iki.fi/shd/foss/cksfv/
;
; 287 07:31.28 2016-08-17 VERSION
VERSION 0E2D2E9B
VERSION 파일의 CRC-32값을 구하고 결과로 출력된 헥사코드로된 CRC-32값을 Decimal로 변환합니다.
윈도우에 있는 계산기를 공학용으로 설정하여 계산해도 되고, 아래 웹페이지에서 변환해도 됩니다.
http://www.statman.info/conversions/hexadecimal.html
위 웹페이지에서 변환할 경우
Convert에 CRC-32값인 헥사코드 “0e2d2e9b”를 넣고 “to decimal” 버튼을 클릭하면 결과가 나옵니다.
checksum.syno의 첫 번째 값을 결과(237842075)값으로 대체하면 됩니다.
237842075 122 VERSION 151 177
3457460874 688433 rd.bin 1283356 491
1260244284 41277920 hda1.tgz 70616743 474
3679547135 1962364 updater 2839231 468
2898455093 824424 zImage 1274095 370
#Synocksum 44753263 76013576 1980
3. 펌웨어 파일 생성
# tar cvf synology_powerpc_106e_0598.pat *
4. 관리자 페이지에서 펌웨어 업데이트
5. 업데이트된 ds-101g+
업데이트 후 ds-101g+의 관리자 페이지입니다.
아래 보시는 것처럼 모델 이름은 DS-106e로 표시되며, 메모리는 64 MB로 표시됩니다.(106e는 32 MB죠)
일반적으로 펌웨어 업데이트 후 변경되는 사항 정도 변경된 것 외에는 101g+에 설정되어 있던 사항은 대부분 그대로 유지됩니다.
제가 수정한 0598 버전의 VERSION과 checksum.syno를 압축하여 올립니다.
1296092550.tar
참고 사이트:
http://www.nslu2-linux.org/wiki/DS101/DS-106eFirmwareOnADS-101g
제가 알기로는 410J가 212j와 사양이 비슷한 걸로 알고 있습니다. 저도 이슬님처럼 410j에 최신 펌웨어를 새로 만들려고 하는데요 가능은 한지 아니면 주의할 점이 있으면 가르쳐 주십시오. 예전에 시놀로지 카페에서 도움을 많이 받고 Ezlink에 매우 만족했던 사람중의 하나입니다. 새해 복 많이 받으시구요. 감사합니다.
안녕하세요.
410j, 212j 모두 동일한 프로세서(Marvell Kirkwood 88f6281, armv5)를 사용하고 있네요.
별 문제 없을 것으로 판단됩니다.
410j가 212j보다 메모리가 적어서 212j가 지원하는 최신 펌웨어를 올리면 많이 느릴 듯합니다.
최악의 경우 410j를 사용하지 못하는 상황까지 고려해서 시도해보세요.
새해 복 많이 받으시길 바랄게요^^
감사합니다. 이슬님
DSM_DS411+_8451 파일을 가지고 어제밤부터 게속 삽질 중입니다.
1010+에 버전파일은 에디트플러스로 수정하였습니다.
majorversion=”6″
minorversion=”0″
productversion=”6.0.2″
buildphase=”hotfix”
buildnumber=”8451″
smallfixnumber=”0″
builddate=”2016/08/17″
buildtime=”05:11:44″
unique=”synology_x86_1010+_5hd”
extractsize=620384
indexdbextractsize=12780
synohdpackimgextractsize=16528
packageextractsize=145440
cksum이 안되어 crc계산기 프로그램을 찾아 계산하고 있는데 버전파일을 crc계산기에 넣으니 3980063614라는 수치가 나옵니다.이것을 다시 On-line CRC calculation and free library에 넣으니
헥사코드로 CRC-32 0x1001A26B 이렇게 나옵니다.우선 이게 맞는 건지를 모르겠습니다.
우분투나 리눅스에서 작업해야 할것을 윈도우로 하니 머리가 터질 지경입니다.혹시 DS1010+안에서 이슬님이 위 글에서 말씀하실 작업을 할 수는 없나요?
1010+에서 직접할 수 있도록 본문에 “cksfv”를 이용한 방법을 추가하였습니다.
bootstrap 패키지를 먼저 설치하신 다음에 cksfv를 설치해서 해보세요.
cksfv 실행결과 나온 헥사코드를 계산기 또는 본문의 링크에 있는 사이트에서 10진수로 변환한 후 그 값을 checksum.syno에 넣어주면 됩니다.
정말 감사드립니다.
감사합니다. 이슬님 ㅠㅠ
다시 한번 시도해 보겠습니다.
성공하길 바라겠습니다. 결과 알려주시면 고맙겠습니다..