Installing Debian 7 (Wheezy) on Intel SS4000-E
Debian 7 Wheezy 까지 Intel NAS Storage인 SS4000-E를 지원해 준다.
본 글은 SS4000-E에 Wheezy를 설치하는 방법이다.
1. Cross cable wiring 연결
3가닥의 cable이 필요. ( 폐 computer의 power cable, led cable을 잘라서 사용. )
아래와 같이 PC serial port와 SS4000-E dl-10 단자와 serial corss cable 연결.
PC(DB9) <-> SS4000-E(DL-10)
3 <-> 3
2 <-> 5
5 <-> 9
2. PC 에서 SS4000-e 으로 Serial 접속
윈도우용 teraterm을 사용해 serial 접속하는것을 추천한다.
설정에서 speed 115200로 수정, 나머지는 기본값 사용.
3. Wheezy 설치 Image files 구하기
ftp://ftp.kr.debian.org/debian-archive/debian/dists/wheezy/main/installer-armel/20130613+deb7u3+b2/images/iop32x/netboot/ss4000e
여기서 initrd.gz와 zImage를 download 받는다.
debian 설치시 archive 위치는 아래와 같이 지정해 줘야만 한다.
ftp://ftp.kr.debian.org/debian-archive/debian/
4. RedBoot 진입
SS4000-E의 전원을 on 하자마자 Ctrl-C를 누르면
RedBoot> 가 나온다.
5. Debian을 위한 RedBoot 설정 변경
아래를 정확히 다 입력한다.
RedBoot> fconfig boot_script_data
fis load ramdisk.gz
fis load zImage
exec -c "console=ttyS0,115200 mem=256M" -r 0x01800000
다 입력하고 나면
Update RedBoot non-volatile configuration - continue (y/n)? y 쳐준다.
6. upload 설치 Image files
RedBoot> 에서 아래와 같이 치고 아래 file을 upload한다.
RedBoot> load -v -r -b 0x01800000 -m ymodem ramdisk.gz
teraterm에서 ymodem으로 initrd.gz 전송
RedBoot> load -v -r -b 0x01008000 -m ymodem zImage
teraterm에서 ymodem으로 zImage 전송
exec -c "console=ttyS0,115200 mem=256M" -r 0x01800000 -s 0x0046f490
( Wheezy에서는 -s parameter가 필요하다. initrd.gz file size - 16진수 )
여기까지 성공하면, booting 되면서, Debian 설치가 진행된다.
7. Debian 설치
설치과정은 pc에 설치하는것과 똑같다.
Debian 저장소를 아래 주소로 적어 줘야 한다.
ftp://ftp.kr.debian.org/debian-archive/debian/
======== Fan, Power Button, LEDs 제어 ======
8. Fan speed control
w83792d module을 load해야 한다.
modprobe w83792d
/etc/modules 에 w83792d 추가
그리고 아래와 같이 입력해준다.
echo 0 > /sys/devices/platform/IOP3xx-I2C.0/i2c-0/0-002d/pwm1_mode
0 -> variable fan speed
1 -> 2-stage fan speed
- fixed fan speed control -
echo 112 > /sys/devices/platform/IOP3xx-I2C.0/i2c-0/0-002d/pwm1
적당한 숫자를 적어, Fan speed를 control 한다.
- fancontrol 설치 -
auto fan speed control, 하지만 cpu가 뜨겁지 않아, 이 기능은 사실 필요없다.
하드를 식힐 정도의 값을 직접 적는것으로 충분, 아래 내용은 건너뛰어도 된다.
aptitude install fancontrol
(/etc/fancontrol file을 만드는 pwmconfig 명령에 error가 있다. 아래와 같이 file을 직접 수정해야함 )
/etc/fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=30
DEVPATH=hwmon0=devices/platform/IOP3xx-I2C.0/i2c-0/0-002d
DEVNAME=hwmon0=w83792d
FCTEMPS=hwmon0/device/pwm1=hwmon0/device/temp1_input
FCFANS=hwmon0/device/pwm1=hwmon0/device/fan1_input
MINTEMP=hwmon0/device/pwm1=30
MAXTEMP=hwmon0/device/pwm1=65
MINSTART=hwmon0/device/pwm1=195
MINSTOP=hwmon0/device/pwm1=180
숫자는 적당히 수정.
설정파일 적용 재시작
/etc/init.d/fancontrol restart
- lm-sensors 설치 -
sensors 명령으로 cpu온도를 볼수 있다.
aptitude install lm-sensors
설정 file 수정
/etc/sensors3.conf
chip "w83792d-*"
set fan1_div 4
ignore fan2
ignore fan3
ignore fan4
ignore fan5
label fan1 "Case Fan"
fan speed가 표시안되거나, pwmconfig 명령에 error 가 있으면 lm-sensors를 compile 하면 정상 작동한다.
apt-get install build-essential bison flex
apt-get source lm-sensors
make all
make install
9. Power Button, LEDs control
Power Button과 LEDs를 위해선 kernel patch와 kernel compile이 필요하다.
아래 패치된 linux-image를 링크해 두었다.
- kernel patch -
http://git.rtp-net.org/?p=ss4000e.git;a=summary
여기서 아래 patch files를 가져와 source directory와 line number를 수정후 patch 해야 한다.
f75111.patch
gpiolib_regs_show.patch
add_f75111_pdata.patch
em7210_add_missing_leds.patch
em7210_add_gpio_keys.patch
이 patch는 wheezy에서 아래처럼 .poll_interval 을 추가해야 한다.
> .buttons = em7210_buttons,
> .nbuttons = ARRAY_SIZE(em7210_buttons),
.poll_interval = 100,
- make menuconfig -
/boot/config-3.2.0.4-iop32x 을 /usr/src/linux-source-3.2/.config 로 복사후
make menuconfig 에서 아래를 선택해 준다.
Device Drivers > GPIO Support > Fintec F75111 chip > [y]
Device Drivers > Input device support > Keyboards > Polled GPIO buttons > [m]
Device Drivers
> LED Support > LED Class Support > [y]
> LED Support > LED Support for GPIO connected LEDs > [y]
- kernel compile -
- kernel 설치 -
dpkg -i linux-image-3.2.78-iop32x_1.ss4000e_armel.deb
kernel compile 할때 -iop32x 를 덧붙이지 않으면 flash-kernel 이 실행안된다.
그럴땐 /boot 에 있는 vmlinuz-3.2.78 와 initrd.img-3.2.78 두 파일의 파일명 끝에 -iop32x를 덧붙인후 flash-kernel 명령을 실행하면 된다.
reboot 하면 새로운 kernel로 booting된다.
- Power Button 작동과 acpid 설치 -
acpid가 설치되야 power button이 작동한다.
aptitude install acpid
- Turn LEDs on/off -
LED는 아래와 같이 on/off 한다.
1: on ( HDD 작동시 깜빡인다. )
0: off
echo 1 > /sys/class/leds/HD1:green/brightness
echo 0 > /sys/class/leds/HD1:green/brightness
echo 1 > /sys/class/leds/HD1:amber/brightness
echo 0 > /sys/class/leds/HD1:amber/brightness
echo 1 > /sys/class/leds/status:green/brightness
echo 0 > /sys/class/leds/status:green/brightness
echo 1 > /sys/class/leds/HD:amber/brightness
echo 0 > /sys/class/leds/HD:amber/brightness
- /etc/rc.local 수정 -
booting시 HDD가 삽입된 slot의 LED를 키고, Fan speed도 지정한다.
/etc/rc.local
echo 0 > /sys/devices/platform/IOP3xx-I2C.0/i2c-0/0-002d/pwm_mode
echo 96 > /sys/devices/platform/IOP3xx-I2C.0/i2c-0/0-002d/pwm1
if [ -L /sys/class/scsi_device/0:0:0:0 ]
then
echo 1 > /sys/class/leds/HD1:green/brightness
else
echo 0 > /sys/class/leds/HD1:green/brightness
fi
if [ -L /sys/class/scsi_device/1:0:0:0 ]
then
echo 1 > /sys/class/leds/HD2:green/brightness
else
echo 0 > /sys/class/leds/HD2:green/brightness
fi
if [ -L /sys/class/scsi_device/2:0:0:0 ]
then
echo 1 > /sys/class/leds/HD3:green/brightness
else
echo 0 > /sys/class/leds/HD3:green/brightness
fi
if [ -L /sys/class/scsi_device/3:0:0:0 ]
then
echo 1 > /sys/class/leds/HD4:green/brightness
else
echo 0 > /sys/class/leds/HD4:green/brightness
fi
- booting 과정 LED로 알려주기 -
kernel이 load된 직후 status LED를 off한다.
/etc/init.d/rcS
echo 0 > /sys/class/leds/status:green/brightness
booting 과정이 다 끝나면 status LED를 on한다.
/etc/rc.local
echo 1 > /sys/class/leds/status:green/brightness
- Raid가 깨졌을때 LED로 알려주기 -
/etc/mdadm/mdadm.conf
PROGRAM /etc/mdadm/leds
/etc/mdadm/leds
#!/bin/bash
echo 1 > /sys/class/leds/HD:amber/brightness
chmod 700 leds
댓글
댓글 쓰기