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
Hi! Thanks for this tutorial.
답글삭제Do you have any hint on how to partition the disk?
Do you install debian in the flash or in one of the disks?
How do you instruct the bootloader where to find the root filesystem?
Thanks!