두잔 포럼 보드히(Doozan, bodhi)님이 만든 커스텀 커널 업데이트 방법이다.
커널 다운로드는 여기에서 Linux Kernel 4.12.1 Kirkwood package and Debian rootfs
몇년 째 한 쓰레드 유지하면서 계속 커널과 rootfs를 유지해주는데, 정말 대단한 것 같다.
커널 패키지를 포고플러그에 다운받은 후 시작하자. 그리고 모든 명령은 root 권한으로 실행한다.
1. 기존 커널 백업
우선 /boot 디렉토리를 통채로 백업
# cp -R /boot /boot_4.11.3
백업하고자 하는 파일은 아래와 같은데, 그냥 boot 디렉토리를 통으로 해버렸다.
uInitrd
uImage
initrd.img-xx.xx.xx-kirkwood-xxx
System.map-xx.xx.xx-kirkwood-xxx
vmlinuz-xx.xx.xx-kirkwood-xxx
config-xx.xx.xx-kirkwood-xxx
dts/
2. 커널 설치
/boot 디렉토리 내에 다운받은 압축 파일을 풀어준다.
새 커널을 풀기 전에 uEnv.txt 를 제외한 모든 파일과 디렉토리를 지워도 된다만.. 혹시 실수 했을 때 복구하기 편하려고 남겨두었다.
# cd /boot
# tar -xvjf /다운로드/받은/위치/linux-4.12.1-kirkwood-tld-1-bodhi.tar.bz2
아래 여섯 파일이 /boot 디렉토리에 풀렸는지 확인한다.
linux-image-4.12.1-kirkwood-tld-1_1.0_armel.deb
linux-headers-4.12.1-kirkwood-tld-1_1.0_armel.deb
config-4.12.1-kirkwood-tld-1
zImage-4.12.1-kirkwood-tld-1
linux-dtb-4.12.1-kirkwood-tld-1.tar
linux-4.12.1-kirkwood-tld-1.patch
이 중에서 linux-dtb는 /boot/dts 디렉토리의 내용물로써, tar 파일을 한번 더 풀어줘야 한다.
# tar -xvf linux-dtb-4.12.1-kirkwood-tld-1.tar
# rm linux-dtb-4.12.1-kirkwood-tld-1.tar
이제 dpkg 명령으로 linux-image를 설치하는데, 그 전에 flash-kernel 패키지를 삭제하라고 한다.
# apt-get remove flash-kernel
# dpkg -i linux-image-4.12.1-kirkwood-tld-1_1.0_armel.deb
부트 이미지를 수동으로 생성한다.
단, 이 방법은 uboot이 booting device의 /boot/dts에서 dtb file로 부팅하도록 설정된 경우에만 해당한다. 2015년 모 시점 이후의 uboot 기본설정인데, uboot이 그 이전 버전이거나 잘 모르겠으면 다른 방법으로 부팅 이미지를 만들기 보다는 uboot을 업그레이드 하자.
# cd /boot
# mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-4.12.1-kirkwood-tld-1 -d vmlinuz-4.12.1-kirkwood-tld-1 uImage
# mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-4.12.1-kirkwood-tld-1 -d initrd.img-4.12.1-kirkwood-tld-1 uInitrd
버전에 맞추어 명령어 옵션의 숫자/파일명을 적절히 바꾸는 것을 잊지 말 것
부트 디스크에 image 파일이 완전히 기록되도록 기다린 후에 재부팅 한다.
# sync
# sync
# sync
# shutdown -r now
재부팅 후 커널 버전 확인
# uname -a
Linux pv4a-sd 4.12.1-kirkwood-tld-1 #1 PREEMPT Sat Jul 15 21:40:50 PDT 2017 armv5tel GNU/Linux
구 커널 삭제
# rm config-4.11.3-kirkwood-tld-2
# rm initrd.img-4.11.3-kirkwood-tld-2
# rm linux-4.11.3-kirkwood-tld-2.patch
# rm System.map-4.11.3-kirkwood-tld-2
# rm vmlinuz-4.11.3-kirkwood-tld-2
# rm zImage-4.11.3-kirkwood-tld-2
'SBC' 카테고리의 다른 글
포고플러그 v4: 시리얼 케이블 사용하여 벽돌 복구하기 (0) | 2017.08.01 |
---|---|
포고플러그 Torrent 시드박스 구축 (deluge) (0) | 2017.07.27 |
Pogoplug V4 성능 튜닝 [작성중] (0) | 2017.07.26 |
포고플러그 V4 Debian Jessie 설치 2017년 7월 기준 (0) | 2017.07.14 |
토렌트 시드박스 만들기 (transmission-bt, 포고플러그 V4) (0) | 2017.07.14 |