반응형

Native를 사용하다가 Proxmox환경에 올려봤는데, 시리얼 넘버가 이상해서 변경할 일이 생겼다.


virtio driver만 사용할 수 있는 부트로더를 받았기 때문에, 시리얼 넘버가 ds3615xs의 시리얼 넘버 포맷 (xxxxLWN00xxxx)과 맞지 않아서 썸네일 생성이 안됨.


Native나 vmware에 올린 경우는 그냥 USB나 iso 파일 열어서 grub.cfg 파일을 수정하면 되지만, proxmox의 경우 usb drive를 hotplug방식으로 bootup될때 mount하는 방식이라서, ssh 레벨에서 컨트롤 해주어야 한다. 


일단 dsm에서 ssh 접근 후, /dev/ 경로 아래에 synoboot(숫자)를 일일히 mount하여 grub.cfg 파일을 찾아내야 한다. (일반적으로 synoboot1인듯)

아래 예제는 synoboot1이 grub.cfg를 가지고 있는 파티션이라 가정한다.

$ cd /dev/
$ mkdir /mnt/synoboot1
$ mount /dev/synoboot1 /mnt/synoboot1


grub폴더의 grub.cfg파일을 열어서, set sn1 부분을 변경 후 재부팅하면 된다.

(참고 링크 : http://xpenology.me/how-to-generate-synology-mac-and-serial-valid-pair/)

정품 시리얼을 구해서 넣어야 함.. 정품 시리얼을 입력하지 않으면 동영상 파일들의 썸네일 생성과 Transcoding이 제한된다.


주의할 점은, mac 주소는 그대로 유지해두어야 한다. 괜히 real mac으로 변경했다가 부팅이 안됬던 참사가 발생함; (참사가 발생한 경우는 아래 빨간글씨 이하를 참고하자.)


혹시나 real mac으로 변경해서 부팅이 안되는 경우는, proxmox에서 vm을 잠시 내린 후에 아래와 같이 하면 된다.


1. kpartx를 설치 (kpartx는 img 파일을 리눅스 파일시스템으로 mount할 수 있게 해주는 프로그램이다.)

$ apt-get install kpartx


2. kpartx를 이용하여 bootloader를 풀어 준다. (/dev/mapper/ 경로에 하나씩 매핑된다.)

$ kpartx -a -v 부트로더가 위치한 경로/synoboot.img
add map loop0p1 (253:7): 0 30720 linear 7:0 2048
add map loop0p2 (253:8): 0 61440 linear 7:0 32768
add map loop0p3 (253:9): 0 8159 linear 7:0 94208


3. 생성된 파티션을 mount한다. (보통 첫번째 파티션이 grub.cfg 파일이 존재하는 파티션이지만, 아닐 경우 나머지도 시도해본다.)

$ mkdir /mnt/loop0p1
$ mount /dev/mapper/loop0p1 /mnt/loop0p1


4. 이제 /mnt/loop0p1 폴더로 이동해서 grub파일을 수정한다.


5. grub.cfg 파일을 수정했으면, umount 해준다. (umount 전에 디렉토리를 지워버리면, bootloader 자체가 망가져버리는 참사가 발생하니 주의하자.)

$ umount /mnt/loop0p1
$ rm -rf /mnt/loop0p1
$ kpartx -d -v 부트로더가 위치한 경로/synoboot.img


6. vm 부팅



반응형
,