ç¹å®ã®ã¹ããŒãããã€ã¹ãæäœããéçšã§ããŠãŒã¶ãŒã¯å€ãã®å Žåãã¡ãŒã«ãŒã ãã解決ã§ããå€ãã®åé¡ã«çŽé¢ããŸãã 解決çã¯è¿ãããã§ãïŒçºèŠããããã°ã«ã€ããŠå
¬åŒãã£ã³ãã«ãä»ããŠéç¥ããã¡ãŒã«ãŒãä¿®æ£ããæ°ãããã¡ãŒã ãŠã§ã¢ãã¢ããããŒãããæŽæ°ã®æç€ºãäžããæŽæ°ããã誰ããæºè¶³ããŠããŸãã
å®éã«ã¯ããã¹ãŠãããã»ã©çŽ æŽãããããã§ã¯ãªããè£œé æ¥è
ã«é£çµ¡ããããšã¯ãã°ãã°å°é£ãŸãã¯å®å
šã«äžå¯èœã§ãã ãŸãã¯ããã®ããã€ã¹ã¢ãã«ã®ãµããŒãæéãçæéã§çµäºããå Žåãããããã®å Žåã¯èª°ãä¿®æ£ã«é¢äžããŸããã
ãã®ã¹ããŒãªãŒã¯ãçµã¿èŸŒã¿ããã€ã¹çšã®ãœãããŠã§ã¢ãæŽæ°ããããã»ã¹ãçè§£ããããã®åæã¹ãã«ã欲æ±ãããã³æéãæã¡ãèªåã§ã§ããããšã«ã€ããŠã§ãã

ãã£ãã¡ãªäººã®ããã«ïŒæçµçã«ãææ°ããŒãžã§ã³ã®U-BootããŒããŒãåããæ¬æ Œçãªããã€ã¹ãæã«å
¥ããŸããã
Debian Jessieããã³
ããŒãäžã®OpenMediaVault ã
å
容ïŒ
- è£
眮
- ããã€ã¹ã®æºå
- ãã«ããšã¢ããã°ã¬ãŒã
- ã€ã³ã¹ããŒã«ãšã»ããã¢ãã
- ãããã«
è£
眮
ä»¶å-D-Link DNS-325ãã芧ãã ãã ã

ãã®ããã€ã¹ã«ã¯ãARMã¢ãŒããã¯ãã£ã®ARMããã»ããµMarvell Kirkwood 88F6281ïŒEABIïŒã128MBã®NANDã¡ã¢ãªã256MBã®RAMãæèŒãããŠããŸãã 2ã€ã®HDDãã€ããããã¯ãŒã¯ãããã³èé¢ããã«ã®USBã³ãã¯ã¿ãè£
åã
ãã®ããšã¯ããã»ã©åŒ·åã§ã¯ãããŸããããå®¶åºã§ã®äœ¿çšã®æ çµã¿ã®äžã§ãããæšæºãã¡ãŒã ãŠã§ã¢ã§ã®ãããªã䜿çšãäžå¿«ã«ãªã£ãŠãããšãã䞻匵ãèç©ãããŠããŸãã
ã°ãªãã
éèŠåºŠã®éé ïŒ
ã°ãªããUPnP AVã¡ãã£ã¢ãµãŒããŒã ã¡ãã£ã¢ãµãŒããŒã¯ãªããžããªã§æ§æããããªãŒãã£ãªããã³ãããªçŽ æã«ã€ã³ããã¯ã¹ãä»ãã DLNAãããã³ã«ã䜿çšããŠããããé
ä¿¡ããŸãã åé¡ã¯ãããŒããã©ã€ãã«è¿œå ãããäžéšã®ãã¡ã€ã«ãèªåçã«ã€ã³ããã¯ã¹ä»ããããããã¬ã/ä»ã®DLNAäºæããã€ã¹ããå
¥åãããšãã«è¡šç€ºãããªãããšã§ãã ã¡ãã£ã¢ãµãŒããŒã¢ãŒããæåã§åãæ¿ãããšãããŒã¿ããŒã¹ãæåããäœæãããŸãããæ°æéããããŸãã æ ç»ãããŠã³ããŒãããŠèŠèŽãããå Žåã¯ãæé©ãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã
å€äžã«çªç¶ãã¹ãªãŒããç¶æ
ããç®ãèŠãããšïŒãã£ã¹ã¯ã§ã¬ãµã¬ãµé³ãããããã¡ã³ã®é³ãããïŒäžå¿«æãçããŸãã ãããŠãã©ã®ãããªçš®é¡ã®ãµãŒãã¹ã¿ã¹ã¯ãéå§ããããã«ã€ããŠã®ãã°ã®1è¡ã§ã¯ãããŸããã ãã¡ã³éå§ã€ãã³ãã®ã¿ïŒ
Apr 20 03:55:09 Set Fan Speed To "LOW".
Webã€ã³ã¿ãŒãã§ãŒã¹ ããªãŒãºãã»ãã·ã§ã³ã®ãã³ããªã©ããããŸãã
远å ã å
¬åŒãšéå
¬åŒã®äž¡æ¹ããããŸãã åé¡ã¯ã誰ããœãããŠã§ã¢ãææ°ã«ä¿ã£ãŠããªãããšã§ãã ãã®åœ¢åŒã§ã¯ããã°ä¿®æ£ãšè匱æ§ãåŸ
ã€äŸ¡å€ã¯ãããŸããã
ãã®ã³ã°ã·ã¹ãã ã¯ã²ã©ãã§ãã æ
å ±éãå°ãªãã ãã§ãªããç¥è©±äžã®ã¢ãŒãã£ãã¡ã¯ããããã€ããããŸãã
Linux ãã〠çŸä»£ã®ã³ãŒããŒã¡ãŒã«ãŒ LinuxããŒã¹ã®çµã¿èŸŒã¿ããã€ã¹ã ããã¯ãå®å®æ§ãè匱æ§ãªã©ã®åé¡ãé£ã«ããããšãæå³ããLinux 2.6ã«ãŒãã«ã¯ã¹ããã¯ãã¡ãŒã ãŠã§ã¢ã§ã¹ãã³ããLinux 4.11ã¯ãã§ã«ã€ãŒãã«ãããŸãã
- USBããªã³ã¿ãŒã®å¥åŠãªãã°ã ã¹ãã¬ãŒãžã«ã¯ããã©ãã·ã¥ãã©ã€ããUSBãã©ã€ããããªã³ã¿ãŒãã¹ãã£ããŒãæ¥ç¶ããããã®USBããŒããè£
åãããŠããŸãã ãããŠãç§ã®USBããªã³ã¿ãŒã¯ãããã¯ãŒã¯äžã§å®å
šã«å
±æããã2 TBã®HDDãå
éšã«ã€ã³ã¹ããŒã«ãããŸããã 3 TBã®HDDãå³åŽã®ã±ãŒã¹ã«æ¿å
¥ãããšããã«ãããªã³ã¿ãŒãæ©èœããªããªããŸããã ããŸããŸãªãã£ã¹ã¯ã®ããŸããŸãªçµã¿åããã䜿çšããäžé£ã®ãã¹ãã®åŸãå·ŠåŽã®ã±ãŒã¹ã«ã€ã³ã¹ããŒã«ãããŠããã®ã¯1ã€ã ãã§ããããšãããããŸããã
代æ¿OSã®éžæ
é©åããä»£æ¿æ¡ããæåã«èŠã€ãã£ãã®ã¯ããªãŒãã³ãªAlt-Fãã¡ãŒã ãŠã§ã¢ã§ããã æ©èœã¯ç¬èªã®ãã¡ãŒã ãŠã§ã¢ãæå°éã®Webã€ã³ã¿ãŒãã§ãŒã¹ã«å£ãããæŽæ°ã¯å®å®ããŠè¡ãããŸãã fun_plugãã©ã°ã€ã³ã®ãµããŒãããããŸãã
ãããžã§ã¯ãã¯è峿·±ãããããã°ãã FreeBSDã«åºã¥ããŠããŸãã ã·ã¹ãã èŠä»¶ãé«ãããŸãã
ããã§ãããšãã°ã FreeNAS 10 "Corral"ã®ã·ã¹ãã èŠä»¶ ïŒ
- 64ãããããã»ããµ
- ã¬ã¬ã·ãŒBIOSãŸãã¯EFIãä»ããèµ·åå¯èœãªã·ã¹ãã
- 8 GB RAM
- 8 GB USBãã©ãã·ã¥ãã©ã€ããŸãã¯ãã®ä»ã®ã¹ãã¬ãŒãžããã€ã¹
- ããŒã¿ã¹ãã¬ãŒãžçšã®å°ãªããšã1ã€ã®ãã£ã¹ã¯
- ãããã¯ãŒã¯äº€æçšã®ã€ãŒãµãããããŒã
ãšããã§ãæè¿ãFreeNAS 10 "Corral"ã®ãªãªãŒã¹ããªã³ãŒã«ãããŸãã ã ã·ã¹ãã èŠä»¶ãå¢å ããããã
OMVã¯ãªãŒãã³ãœãŒã¹ã®NASã·ã¹ãã ã§ãã FreeNASã®ãã©ã³ãã§ãããDebian Linuxã«é©åããŠããããããã«ããã©ãããã©ãŒã ã§ãã æ¯èŒçäœãã·ã¹ãã èŠä»¶ãšçµã¿åããããšãããã ããé©åãªåè£ã«ãªããŸãã æ©èœã¯ãã©ã°ã€ã³ã«ãã£ãŠååã«æ¡åŒµã§ããŸãããæãéèŠãªããšã¯ãæ¬æ ŒçãªDebianããªããžããªã«ã¢ã¯ã»ã¹ã§ããããšãæå³ããŸããã€ãŸããããã€ãã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããããšã§å¿
èŠãªãã®ã眮ãããšãã§ããŸãã
ãã®ã¢ãã«ã§ã¯ã fun_plugã䜿çšããããã¯ã䜿çšããŠDebianãéå§ããç°¡åãªæ¹æ³ããããŸãããããã¯åãªããªã¢ã«ã¿ã€ã æ¡åŒµæ©èœã§ãããWheezyããå€ãDebianããŒãžã§ã³ã¯èµ·åã§ããŸããã
æ®å¿µãªãããOMVã«ã¯armelã¢ãŒããã¯ãã£çšã®ããã±ãŒãžãåããæ¢è£œã®Debianãã«ãããããŸããã ããã«ãéçºè
ã¯ãããŸã§ã®ãšãããi386ããã³amd64ãã«ãã®ã¿ãå®å®ããŠãããšèªèããŠããŸãã ARMå®éšçãµããŒãïŒ
OpenMediaVault on Armã®ãµããŒãã¯è©Šéšçãªãã®ã§ãã ã»ãšãã©ã®å Žåãããã€ã¹ã«Debian Wheezyãã€ã³ã¹ããŒã«ããæ¹æ³ã決å®ããå¿
èŠããããŸãã
ããã€ã¹ã®æºå
å
èµã®NANDã¡ã¢ãªã¯ãç§ãã¡ã®ã¢ã€ãã¢ã«ã¯é©ããŠããŸãã-å°ããããŸãã ã¹ãã¬ãŒãžã«æ¿å
¥ããããã£ã¹ã¯ã«ã·ã¹ãã ãä¿åããå¿
èŠã¯ãŸã£ãããããŸããã ãã®çµæãè³ããã€ã¹ãšåšèŸºã³ã³ããŒãã³ããæ··åšããŸãã ãããŠããã£ã¹ã¯ã倿Žãããå ŽåããŸãã¯å£ããŸããïŒ
é©åãªãªãã·ã§ã³ã¯1ã€ãããããŸããã§ãããUSBãã©ãã·ã¥ãã©ã€ããã€ã³ã¹ããŒã«ãããšãããã«ã·ã¹ãã å
šäœãã€ã³ã¹ããŒã«ãããŸãã ãã®ã¢ãããŒãã«ãããã·ã¹ãã ã®ããã¯ã¢ãããããç°¡åã«ãªããç Žæããå Žåã®ãã©ãã·ã¥ãã©ã€ãã®äº€æãç°¡åã«ãªããŸãã
USBããã€ã¹ã®å Žåãå¥ã®USBãããã¯ãŒã¯ããã䜿çšããããšã«ããŸããããšã«ãã1ã€ã®ã¹ãããã§ã¯äžååã§ã:)
远å ã®é
å€éšããè³ã«ã¢ã¯ã»ã¹ããããã«ãããŒãã«ã¯ã·ãªã¢ã«UARTããŒãããããŸãã ç¹å¥ãªããã°ã©ããŒã§ROMããã©ãã·ã¥ãã代ããã«ãããŒãäžã®æ¥ç¹ã«æ¥ç¶ããç¹å¥ãªã³ã³ããŒã¿ãŒãä»ããŠã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒãä»ããŠããã€ã¹ãšéä¿¡ã§ããŸãã
çµã¿èŸŒã¿ããã€ã¹ã®UARTããŒãã¯éåžžã«åºç¯å²ã§ãããæ°ã«ãªã人ã¯ãè¯ãã¬ãã¥ãŒèšäºãèªãããšãã§ããŸãïŒ https : //geektimes.ru/post/253786/
次ã®ã³ã³ããŒãã³ããéžæããã賌å
¥ãããŸããã
- PL2303HXäžã®USB UARTã³ã³ããŒã¿ãŒ
- ã¯ã€ã€ãŒããã¶ãŒã»ãã¶ãŒã20cmã20åã
- ãªã¹ãã©ã°PLS-40ïŒDS1021-1x40ïŒãã¹ãã¬ãŒããã©ãã¯
- SanDisk Ultra Fit USB 3.0 16GB
ã³ã³ããŒã¿ãŒæ¥ç¶
ããã€ã¹ãéããããŒããååŸããŸã UARTããŒããæ¢ããŠããŸãïŒå·ŠåŽã«4ã€ã®ãã³ïŒ ãã³é
åã¯æ¬¡ã®ãšããã§ãïŒéé ïŒïŒ{RXDãïŒç©ºïŒã3.3vãGNDãTXD}
ãã©ã°ãã¯ãã ä»ãããã¯ã€ã€ãæ¿å
¥ããŸã ã±ãŒã¹ãçµã¿ç«ãŠãã«ããŒã®ã¿ãåãå€ãããŸãŸã«ããŸã ããŠãå
èµã®ãã€ã¯ãã³ã³ãã¥ãŒã¿ãŒã«ã¢ã¯ã»ã¹ããããã«ãããŒããå
¥æããå¿
èŠã¯ãããŸãã-é
ç·ã¯æ¢ã«é
ç·ãããŠããã®ã§ããããã¯ãŒã¯ã¹ãã¬ãŒãžã®ããã³ãã«ããŒãåãå€ãå¿
èŠããããŸãã
ããã¯ã·ãªã¢ã«ããŒããªã®ã§ãçŽåã«æ¥ç¶ããŸãã
ããã§ãæ©åšã®ãã¹ãŠã®æ©æ¢°çäœæ¥ãå®äºããŸããã
詊é転
UARTãããã³ã«ãä»ããŠéä¿¡ããã«ã¯ã次ã®ãã®ãå¿
èŠã§ãã
kwboot-ããªã³ã¶ãã©ã€ãã§ããã€ã¹ã®ããŒãããŒããŒãèµ·åãããŠãŒãã£ãªãã£
minicom-UARTãããã³ã«çšã®ã¿ãŒããã«ãšãã¥ã¬ãŒã¿
ãã¹ãã·ã¹ãã ã§minicomãå®è¡ããŸãã
ïŒ minicom -D /dev/ttyAMA0 -b 115200 -8
黿ºãæ¥ç¶ããããã€ã¹ã®é»æºãå
¥ããã³ã³ãœãŒã«ãžã®ããŠã³ããŒããã°ã®åºåãæ¥œãã¿ãŸãã
ããŒããã° ** MARVELL BOARD: DB-88F6281A-BP LE U-Boot 1.1.4 (Jan 21 2011 - 09:42:39) Marvell version: 3.4.14.DNS-325.02 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE80 Soc: MV88F6281 Rev 3 (DDR2) CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6 DRAM CS[0] base 0x00000000 size 256MB DRAM Total size 256MB 16bit width Flash: 0 kB Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done NAND:128 MB *** NAND read: device 0 offset 0x100000, size 0x300000 load addr .... =a00000 3145728 bytes read: OK NAND read: device 0 offset 0x600000, size 0x300000 load addr .... =f00000 3145728 bytes read: OK
èå³ããããªããããã«å®å
šãªçµè«ããããŸãïŒ
https://pastebin.com/6SRA6Qgq
ãã«ããšã¢ããã°ã¬ãŒã
ãã¹ãŠã®ã¢ã»ã³ããªã¢ã¯ã·ã§ã³ã¯ãDebian StretchïŒamd64ïŒãå®è¡ããŠããã¡ã€ã³ïŒãã¹ãïŒã·ã¹ãã ã§å®è¡ãããŸãã
以äžãåéããŠæŽæ°ããŸãã
- ããŒãããŒããŒ-U-Boot
- ã«ãŒãã«-Linux Kernel 4.10
- Debian Jessieã«ãŒããã¡ã€ã«ã·ã¹ãã
- ã·ã¹ãã åæåã€ã¡ãŒãž-Initramfs
åºæ¬çãªçµã¿ç«ãŠããŒã«ïŒ
- armelã¢ãŒããã¯ãã£çšã®ã¯ãã¹ã³ã³ãã€ã© ã Debianã§ã¯ãããã¯gcc-arm-linux-gnueabiããã±ãŒãžã§ã
- ãŠãŒãã£ãªãã£ïŒ
- git-ãããžã§ã¯ããªããžããªããå¿
èŠãªããŒãžã§ã³ãããŠã³ããŒããã
- make-ã¢ã»ã³ããªã¹ã¯ãªãããå®è¡ããŸã
- debootstrap-ã«ãŒããã¡ã€ã«ã·ã¹ãã ãããŠã³ããŒããã
- mkimage-ããŒãããŒããŒãçè§£ã§ãã圢åŒã«ãã¡ã€ã«ãåãã©ãŒããããããŠãŒãã£ãªãã£
- BusyBox-åæã·ã¹ãã åæåçšã®ãŠãŒãã£ãªãã£ã»ãã
- é¢é£ããäŸåé¢ä¿ãšã©ã€ãã©ãªã
ããŒãããŒããŒ
ãã®ããã€ã¹ã«ã¯ããããã«åãæšãŠãããU-Boot 2011ããŒãããŒããŒããããŸãã ææ°ã®å®å®ããŒãžã§ã³ã«æŽæ°ããŸãã
ããŠã³ããŒãïŒ
$ git clone --branch v2017.05 git://git.denx.de/u-boot.git
ã«ã¹ã¿ãã€ãºïŒ
$ cd u-boot $ nano u-boot/include/configs/dns325.h
è¡ã远å ããŸãã
#define CONFIG_CMD_BOOTZ
-zImageã«ãŒãã«ã®ããŒãããµããŒãããŸãã
#define CONFIG_CMD_EXT4
- ext4 FSããã³é¢é£ããããŒãããŒããŒã³ã³ãœãŒã«ã³ãã³ãããµããŒãããŸãã
$ make dns325_defconfig ïŒ ïŒ configuration written to .config ïŒ $ make u-boot.kwb CROSS_COMPILE=arm-linux-gnueabi-
ãã®æç¹ã§ããã®ãã¡ã€ã«ã®ééãç¥ãå¿
èŠããããŸãã
$ printf "0x%x\n" `stat -c "%s" u-boot.kwb` 0x7315c
16é²è¡šèšïŒHEXïŒã§ç»åã®ãµã€ãºã衚瀺ããŸãããã®åœ¢åŒã§ã¯ãNANDã¡ã¢ãªã«æžã蟌ããšãã«åœ¹ç«ã¡ãŸãã
ã¡ã¢ãªã§åäœããããŒãããŒããŒãããçµæã®U-Bootã€ã¡ãŒãžãNANDã¡ã¢ãªã«æžã蟌ãããšãã§ããŸãã æ°ããã€ã¡ãŒãžãããŒããŠã§ã¢äžã§ãŸã£ããèµ·åããããšãæåã«ç¢ºèªãããã£ããããçŸåšã®ã¹ããã¯ããŒãããŒããŒãããããè¡ããªãããšã«ããŸãã.ext4ãµããŒãã¯æ°ããããŒãããŒããŒã€ã¡ãŒãžã«ä»¥åå«ãŸããŠããã®ã§ãè³ã§å€±ç¥ããããšãã§ããŸãïŒãã®ã€ã¡ãŒãžãUSBãã©ãã·ã¥ãã©ã€ãã«ã³ããŒããŠèµ·åããŸãkwbootã䜿çšããŠåãã€ã¡ãŒãžããã
ãã¡ã€ã«ãããã³ã³ãã¥ãŒã¿ãŒã®ã¡ã¢ãªã«è»¢éããã«ã¯ã Kermitçµç±ã TFTPçµç±ãç©ççã«æ¥ç¶ããããã©ã€ãçµç±ïŒãªãã·ã§ã³ïŒã®ãªãã·ã§ã³ãããã€ããããŸãã
kwbootã䜿çšãããšãç©ççã«ïŒRAMã«ã®ã¿ïŒæžã蟌ãããšãªããäžè¬çã«NANDã¡ã¢ãªãç¡èŠããããšãªããããŒãããŒããŒãæž¡ããç¶æ
ã§ããŒããèµ·åã§ããŸãã ãã®ã¡ã«ããºã ã«ãããNANDã¡ã¢ãªã®ç Žæããã¡ãŒã ãŠã§ã¢ã®å€±æãåå ã§çŠããå Žåã§ããããã€ã¹ãã¯ã©ãã·ã¥ãããããšãã§ããŸãã
ããã€ã¹ã®é»æºãåããkwbootãå®è¡ãã黿ºãã¿ã³ãã¯ãªãã¯ããŸãã äžæããå¿
èŠãããåŸç¶ã®ããŒãã§ã€ã¡ãŒãžãå¡ãã€ã¶ãããã»ã¹ãå®è¡ããå¿
èŠããããŸãã
èšå
¥ããŠããŠã³ããŒã ïŒ tools/kwboot -p -b u-boot.kwb -B115200 -t /dev/ttyUSB0 Sending boot message. Please reboot the target.../ Sending boot image... 0 % [......................................................................] 1 % [......................................................................] 3 % [......................................................................] *** 96 % [......................................................................] 98 % [...........................................] [Type Ctrl-\ + c to quit] U-Boot 2017.05-dirty (May 10 2017 - 02:56:44 +0300) D-Link DNS-325 SoC: Kirkwood 88F6281_A1 DRAM: 256 MiB WARNING: Caches not enabled NAND: 128 MiB In: serial Out: serial Err: serial Net: egiga0 IDE: ide_preinit failed Hit any key to stop autoboot: 0 =>
èµ·åããŸããã æ¬¡ã«ã u-boot.kwbã€ã¡ãŒãžãNANDé åã«æžã蟌ãå¿
èŠããããŸãã ãã ããNANDã¡ã¢ãªã«æžã蟌ãã«ã¯ãæåã«èªã¿åã£ãŠããRAMã¡ã¢ãªã«æžã蟌ãå¿
èŠããããŸãã
ext4ãã©ãã·ã¥ãã©ã€ããäœæããããŒãã£ã·ã§ã³ã«ãrootfsããšããååãä»ããŸãïŒããŒãã£ã·ã§ã³ã®ååã§ã«ãŒãFSãããŠã³ãããŸãïŒã
ïŒ mkfs.ext4 /dev/sdb1 ïŒ e2label /dev/sdb1 rootfs
ãã¡ã€ã«ãUSBãã©ãã·ã¥ãã©ã€ãã«ã³ããŒããUSBãã©ãã·ã¥ãã©ã€ããNASã«æ¿å
¥ããŠåæåããŸãã
=> usb start starting USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found
ç»åãã¡ã¢ãªã«æžã蟌ã¿ãŸãã ã¢ãã¬ã¹ïŒãªãã»ããïŒã¯éèŠã§ã¯ãããŸãããäž»ãªããšã¯RAMãè¶
ããªãããšã§ãã ãã®å Žåã0x1000000ã«ãªããŸãã
=> ext4load usb 0:1 0x1000000 /u-boot.kwb 471388 bytes read in 77 ms (5.8 MiB/s)
ããŒãããŒããŒãä¿åãããŠããNANDãšãªã¢ãã¯ãªã¢ããŸãã
=> nand erase 0x000000 0x7315c NAND erase: device 0 offset 0x0, size 0x7315c Erasing at 0x60000 -- 100% complete. OK
ïŒNANDã¡ã¢ãªã®å
é ããã以åã«èšç®ãããã¡ã€ã«ã®ãµã€ãºã«çãããªãã»ãããŸã§ïŒ
RAMã¡ã¢ãªé åããNANDã¡ã¢ãªé åã«ããŒãããŒããŒãæžã蟌ã¿ãŸãã
=> nand write 0x1000000 0x000000 0x7315c NAND write: device 0 offset 0x0, size 0x7315c 471388 bytes written: OK
0x1000000-RAMã®ã©ããèªã¿åãã
0x000000-NANDã«æžã蟌ãå Žæ
0x73044-ãµã€ãº
ãã¹ãŠãåèµ·åããŠæ°ããããŒãããŒããŒã®èµ·åãæ¥œããããšãã§ããŸãïŒ
U-Boot 2017.05-dirty (May 10 2017 - 02:56:44 +0300) D-Link DNS-325 SoC: Kirkwood 88F6281_A1 DRAM: 256 MiB WARNING: Caches not enabled NAND: 128 MiB In: serial Out: serial Err: serial Net: egiga0 IDE: ide_preinit failed Hit any key to stop autoboot: 0 =>
ãã®æ®µéã§ãããšãã°æåã«å€æããããã«ãããã€ã¹ãçŠããŠèµ·åãæåŠããå ŽåïŒæããã«ãRAMã¡ã¢ãªããNANDãžã®æžãèŸŒã¿æã«ããŒãããŒããŒã€ã¡ãŒãžã®ãµã€ãºãå
¥åãããšãã«å°å°ãããïŒããããã¯ã«çªå
¥ããªãã§ãã ããã kwbootã䜿çšããŠããã€ã¹ãèµ·åããèšé²ãç¹°ãè¿ãããšãã§ããŸãã
ã«ãŒãã·ã¹ãã ïŒã¹ããŒãž1ïŒ
debootstrapããŒã«ã䜿çšããŸãã éåžžãç°ãªãã¢ãŒããã¯ãã£ã®ã·ã¹ãã ã®rootfsã®åœ¢æã¯ã2ã€ã®æ®µéã§è¡ãããŸãã--foreginãã©ã°ã䜿çšããŠãã£ã¬ã¯ããªã«ããŠã³ããŒãããæ¬¡ã«qemuãã»ããã¢ããããŠããdebootstrap --second-stageããå®è¡ããŸãã qemuãå°ç¡ãã«ããããªãã£ãã®ã§ãåäœäžã®NASã§ããã«ç¬¬2段éãå®è¡ããããšã«ããŸããã
ã³ã³ãã³ããUSBãã©ãã·ã¥ãã©ã€ãïŒ/ mnt / usb /ã«ããŠã³ãïŒã«ããŠã³ããŒãããŸãã
ïŒ debootstrap --variant=minbase --foreign --arch=armel --include=dbus,nano jessie /mnt/usb/ http://ftp.ru.debian.org/debian/
ååã€ã³ã¹ããŒã«ãããã·ã¹ãã ãèµ·åããªãããã«ããã®æéã®initãã¡ã€ã«ã®ååã倿ŽããŸãã
ïŒ mv /mnt/usb/sbin/init /mnt/usb/sbin/init.bak
æåã®æ®µéã¯æºåãã§ããŠããŸãã
ã³ã¢
ããããæãé£ããã¹ããŒãžã§ãã å¿
èŠãªãã¹ãŠã®æ©èœãšããã°ã©ã ãæ£ããæ©èœããããã«ãã«ãŒãã«ãæ§æããããšãéåžžã«éèŠã§ãã ãã以å€ã®å Žåãå¥åŠãªçç¶ã䌎ãããçš®ã®åå£ãªééããç¯ãããããªããŸãã
æåã¯ãKirkwoodçšã®æ¢è£œã®ã«ãŒãã«ãèŠã€ããããšãã§ããã®ã¯å¹žéã§ããããã©ã®ã¢ãŒãïŒOHCIãEHCIïŒã§ããã©ãã·ã¥ãã©ã€ãã®ããŠã³ããæåŠãããããã«ãŒãã«ãèªåã§ãã«ãããå¿
èŠããããŸããã
ããŠã³ããŒãïŒ
$ git clone --branch v4.10 git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
ããŒãïŒARMv5ïŒã®ããªã€ã³ã¹ããŒã«æ§æãããŒãããŸãã ç§ã®å Žåãããã¯mvebu_v5_defconfigã§ãã
$ make ARCH=arm mvebu_v5_defconfig ïŒ ïŒ configuration written to .config ïŒ $ make ARCH=arm menuconfig
ã«ã¹ã¿ãã€ãºå¯èœã ãã¹ãŠãæ§æããŠç¢ºèªããçæ³çã«ã¯åãã©ã¡ãŒã¿ãŒã調ã¹ãŠãå¿
èŠãã©ããã倿ããå¿
èŠããããŸãã ãã¹ãåãèšå®ããinitramfs / initrdãµããŒãããªã³ã«ãããµãŠã³ããšUSB 3.0ãµããŒãããªãã«ããext2ããã³ext3ã®ãã©ã€ããŒããªãã«ãïŒext4ãã©ã€ããŒã¯ä»¥åã®ãã¹ãŠã®ããŒãžã§ã³ãããŠã³ãã§ããŸãïŒããã£ã¹ã¯ã¯ã©ãŒã¿ãæå¹ã«ããKirkwoodãMarvell OrionããŒãã®ãµããŒãããªã³ã«ããŸããã systemdãµããŒãã®å¿
é ãã©ã¡ãŒã¿ãŒãå«ãŸããŠããŸãã ãããããå€ãã®èšå®ããããããèšåããªãã£ãããšããããŸãã ãããç§ã®ã«ãŒãã«èšå®ã§ãïŒ https : //pastebin.com/MZrRXnXX
ã·ã¹ãã ããã³OMVã®ã€ã³ã¹ããŒã«ãæ§æãããã³æäœäžã«å€ãã®ããšãåºãŠããŸãã ãã®å Žåãå¿
èŠãªè¡ã远å ããã«ãŒãã«ãåæ§ç¯ããŠãUSBãã©ãã·ã¥ãã©ã€ãäžã®ã€ã¡ãŒãžã眮ãæããã ãã§ãã
çµç«ïŒ
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j5 zImage kirkwood-dns325.dtb
zImageã³ã¢èªäœãškirkwood-dns325.dtbãã¡ã€ã«ãå
¥æããŸããã æåŸã®ãã¡ã€ã«ã§ããããã€ã¹ããªãŒã¯ãã«ãŒãã«ãããŒãã§ç¹ã«æ©èœããããã«å¿
èŠã§ãã
ãããã®ãã¡ã€ã«ãUSBãã©ãã·ã¥ãã©ã€ãã®/ bootãã£ã¬ã¯ããªã«ã³ããŒããŸãã
ïŒ cp arch/arm/boot/zImage arch/arm/boot/dts/kirkwood-dns325.dtb /mnt/usb/boot/
Initramfs
次ã«ãã¡ã¢ãªã«ããŒãããã軜éã€ã¡ãŒãžãäœæããã·ã¹ãã ãåæåããŸãã ããŒãããŒãã¯ã«ãŒããã£ã¬ã¯ããªïŒ root=
ïŒã§ã«ãŒãã«ãçŽæ¥èµ·åã§ããŸãã ãã ããã«ãŒãFSãžã®ã¢ã¯ã»ã¹ããªãå Žåã¯ãæå°éã®ã³ãã³ãã»ãããæã€ã³ã³ãœãŒã«ã䜿çšã§ããããã䟿å©ã§ãã
ç»åã®ããã¯ããŒã³ã¯ã玳士çãªBusyBoxã»ããã§ãã
ããŠã³ããŒãïŒ
$ git clone --branch 1_26_2 git://git.busybox.net/busybox/
ã»ããã¢ããïŒ
$ make defconfig $ make menuconfig
èšå®ã§è¿œå èšå®ããæ¹ãè¯ãã®ã¯ãglibcã©ã€ãã©ãªã®éçãªã³ã¯ã®ã¿ã§ããããã«ãããç»åã«åå¥ã«è©°ã蟌ãå¿
èŠããªããªããŸãã
çµç«ïŒ
$ make ARCH=arm
次ã«ãã€ã¡ãŒãžæ§é ãäœæããbusyboxãå
¥ããŸãïŒ
$ mkdir -p initramfs/{bin,sbin,etc,proc,sys,newroot,usr/{bin,sbin}} $ cp busybox/bin/bisybox initramfs/bin $ ln -s initramfs/bin/busybox initramfs/bin/sh
次ã«ãinitã¹ã¯ãªãããäœæããå¿
èŠããããŸãã ããã¯ãããã€ã¹ã®åæåãšå¶åŸ¡ã®Debianãžã®ç§»è¡ã«ãããŠãã¹ãŠã®éæ³ãçºçããå Žæã§ãã
åæåã¹ã¯ãªãã #!/bin/sh /bin/busybox --install -s #Mount things needed by this script mount -t proc proc /proc mount -t sysfs sysfs /sys #Disable kernel messages from popping onto the screen echo 0 > /proc/sys/kernel/printk #Clear the screen clear #Create device nodes mknod /dev/null c 1 3 mknod /dev/tty c 5 0 #Pause bebore USB Storage init sleep 3 #Mount devices mdev -s #Defaults init="/sbin/init" #Mount the root device mount LABEL=rootfs /newroot #Check if $init exists and is executable if [ -h "/newroot/${init}" ] ; then #Unmount all other mounts so that the ram used by #the initramfs can be cleared after switch_root umount /sys /proc #Switch to the new root and execute init exec switch_root /newroot "${init}" fi #This will only be run if the exec above failed echo "Failed to switch_root, dropping to a shell" exec setsid sh exec <"${console}" >"${console}" 2>&1 exec sh
U-Bootã§çè§£ã§ãã圢åŒã«ããã¯ããŠå€æããŸãã
$ cd initramfs/ $ find . | cpio -H newc -o > ../initramfs.cpio $ cd .. $ cat initramfs.cpio | gzip > initramfs.igz $ mkimage -n 'uInitramfs' -A arm -O linux -T ramdisk -C gzip -d initramfs.igz initramfs.uImage
initramfsãã³ããŒããŸãã
ïŒ cp initramfs.uImage /mnt/usb/boot/
çµã¿ç«ãŠãå®äºããŸããã
ã€ã³ã¹ããŒã«ãšã»ããã¢ãã
ããŒããŒç°å¢å€æ°
ããŒãããŒããŒã®æŽæ°ããã»ã¹ã§ã¯ãæ§æã倱ããããããæ°ããã«ãŒãã«ãInitramfsãããã€ã¹ããªãŒã®ããŒããæ§æãããããã¯ãŒã¯èšå®ã埩å
ããå¿
èŠããããŸãã
minicomããèµ·åããU-Bootã³ã³ãœãŒã«ã®ããã€ã¹ã§å®è¡ããŸãã
=> setenv console ttyS0,115200 => setenv bootargs console=${console} => setenv bootcmd usb start; run load_kernel; run load_init; run load_dtree; run boot_system => setenv load_kernel ext4load usb 0:1 0x1000000 boot/zImage => setenv load_init ext4load usb 0:1 0x1800000 boot/initramfs.uImage => setenv load_dtree ext4load usb 0:1 0x2000000 boot/kirkwood-dns325.dtb => setenv boot_system bootz 0x1000000 0x1800000 0x2000000 => setenv ethaddr xx:xx:xx:xx:xx:xx => setenv ipaddr 192.168.0.32 => saveenv
ããã§ã¯ãã¹ãŠãéåžžã«ç°¡åã§ããã³ã³ãœãŒã«ã®ãã©ã¡ãŒã¿ãŒãã«ãŒãã«ããŒããèšå®ãããã¡ã€ã«ãã¡ã¢ãªã«ã³ããŒããå ŽæïŒext4loadïŒãšèªã¿åãå
ïŒbootzïŒãæå®ããŸãã IPã¢ãã¬ã¹ãšMACã¢ãã¬ã¹ãæžãçããŸãïŒMACã¢ãã¬ã¹ã¯ããã€ã¹ã®ã¹ããã«ãŒã«èšèŒãããŠããŸãïŒã
NASã«ãã©ãã·ã¥ãã©ã€ããæ¿å
¥ããåèµ·åããŸãã
ã«ãŒãã·ã¹ãã ïŒã¹ããŒãž2ïŒ
ããŒãåŸãBusyBoxã«å
¥ããŸãã rootfsã®åœ¢æãå®äºããããšãã§ããŸãã
ïŒ chroot /newroot ïŒ mv /sbin/init.bak /sbin/init ïŒ /debootstrap/debootstrap --second-stage ïŒ passwd
ããã€ã¹ãåèµ·åããã«ãŒããšããŠãã°ã€ã³ããŸãã ãã®ç¬éããå®å
šã«èµ·åããDebianã§äœæ¥ããŸãã
ãããã¯ãŒã¯èšå®
次ã«ããããã¯ãŒã¯ãæ§æããŠæå¹ã«ããŸãã
ïŒ touch /etc/systemd/network/wired.network ïŒ nano /etc/systemd/network/wired.network
eth0æç·ã€ã³ã¿ãŒãã§ã€ã¹ã§éçIPã®ç°¡åãªæ§æãèšè¿°ããŸã
[äžèŽ]
åå= eth0
[ãããã¯ãŒã¯]
ã¢ãã¬ã¹= 192.168.0.32 / 24
ã²ãŒããŠã§ã€= 192.168.0.1
ãããã¯ãŒã¯ãµãŒãã¹ããªã³ã«ããŠéå§ãã
ïŒ systemctl enable systemd-networkd ïŒ systemctl enable systemd-resolved ïŒ systemctl start systemd-networkd ïŒ systemctl start systemd-resolved
ãããã¯ãŒã¯ããããŸãã
ãã¡ã³ãšãã¿ã³ã®èšå®
è² è·ã®é«ãæäœãè¡ãåã«ããã¡ã³ãå·åŽããããã«æ§æããå¿
èŠããããŸãã éåžžãã»ããã¢ããã¯ç°¡åã§ããpwmconfigã³ãã³ãã䜿çšãããšãCPU枩床ã»ã³ãµãŒãé
眮ããããã¡ã³ãé
眮ãããããããæ¥ç¶ãããå·åŽã¢ãŒããã¢ã¯ãã£ãã«ããããã®å¢çãã©ã¡ãŒã¿ãŒãèšå®ãããŸãã
ããŒã NASã®å Žåãç±ã®äž»ãªéšåã¯ããã»ããµã§ã¯ãªãããŒããã©ã€ãã«ãã£ãŠçæãããããããããè¡ãã¹ãã§ã¯ãããŸããã
åé¡ã¯ããã§ãããã¡ã³ãç£èŠãããµãŒãã¹ã§ããfancontrolã䜿çšãããšãããŒãäžã«çŽæ¥é
眮ãããŠããã»ã³ãµãŒã®ã¿ãç£èŠã§ããŸãã ãã®ãŠãããã«ã¯ã1ã€ã®ãã¡ã³ãš1ã€ã®æž©åºŠã»ã³ãµãŒããããŸãã
解決çããããŸããå¿
èŠãªå Žæããæ
å ±ã匷å¶çã«èªã¿åãããããšã§ããã¡ã³ã³ã³ãããŒã«ã欺ãããšãã§ããŸãã HDDããããŒã¿ãèªã¿åãã«ã¯ãsmartmontoolsããã±ãŒãžã䜿çšããŸãã
ã€ã³ã¹ããŒã«ïŒ
ïŒ apt install fancontrol lm-sensors smartmontools
ããã©ã«ãã§èšå®ïŒ
ïŒ pwmconfig
èšå®ã®è©³çްã¯ãããšãã°ããã§èªãããšãã§ããŸã ã
次ã«ãconfig / etc / fancontrolãéããå
容ã確èªããŸãã 倿°ãFCTEMPSãã¯è峿·±ã-枩床ãååŸããå Žæã«ããã€ã¹ãé
眮ããŸãã
FCTEMPS=hwmon0/pwm1=hwmon1/temp1_input
ãã¹ã¯çžå¯Ÿãã¹ã§ããããã¡ã€ã«èªäœã¯/ sys / class / hwmon / hwmon1 / temp1_inputã«çæãããŸãã æ
å ±ãä¿åãããŠãã圢åŒãèŠãŠã¿ãŸãããã
ïŒ cat /sys/class/hwmon/hwmon1/temp1_input 41500
ææ°1000åïŒç²ŸåºŠã®ããïŒã ãã®ãããããŒããã©ã€ãã®æž©åºŠå€ã宿çã«æŽæ°ããããã¡ã€ã«ãå¿
èŠã§ãã å€ã«ã¯1ã€ãã䜿çšã§ããŸãããããã©ã€ãã2ã€æã€ããšãã§ãããããæå€§å€ãèæ
®ããŠããã¡ã€ã«ã«æžã蟌ã¿ãŸãã
å°ããªã¹ã¯ãªãããæžããŸãããïŒ
#!/bin/bash while sleep 60 do TEMP1=`smartctl -A /dev/disk/by-id/ata-Hitachi_HDS723030ALA640_MK0311YHG1ZGJA | grep Temperature_Celsius | awk '{print $10 "000"}'` TEMP2=`smartctl -A /dev/disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WMAY05168428 | grep Temperature_Celsius | awk '{print $10 "000"}'` echo $(( $TEMP1 > $TEMP2 ? $TEMP1 : $TEMP2 )) > /etc/temp_hdd done
1åããšã«SMARTæ
å ±ãHDDã»ã³ãµãŒããèªã¿åããããã¹ãŠã®æ
å ±ããæž©åºŠå€ã®ã¿ãæœåºãããå¿
èŠãªåœ¢åŒã§ã2ã€ã®æå€§å€ã/ etc / temp_hddãã¡ã€ã«ã«æžã蟌ãŸããŸãã ãã©ã€ãæå/ dev / sd [az]ã¯æ¿å
¥ãããç©çãã©ã€ãã®é åºãšæ°ã«ãã£ãŠç°ãªãããããã©ã€ããIDã§ç€ºããŸããã
ã¹ã¯ãªããã/etc/temp_hdd.shã«èšè¿°ããŸãã æ¬¡ã«ãèµ·åæã«äœããã®æ¹æ³ã§èµ·åããå¿
èŠããããŸãã ããã«ã¯/etc/rc.localãã¡ã€ã«ãæé©ã§ãã
ãexit 0ãã®çŽåã«è¡ãæžããŸã
/etc/temp_hdd.sh &
ããã§ãããã»ã¹ã¯ã·ã¹ãã ã®èµ·åæã«éå§ãããããã¯ã°ã©ãŠã³ãã§å®è¡ãããŸãã
, /etc/fancontrol, . - :
# Configuration file generated by pwmconfig, changes will be lost INTERVAL=10 DEVPATH=hwmon0=devices/platform/gpio_fan hwmon1=devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-0048 DEVNAME=hwmon0=gpio_fan hwmon1=lm75 FCTEMPS=hwmon0/pwm1=/etc/temp_hdd FCFANS= hwmon0/pwm1=hwmon0/fan1_input MINTEMP=hwmon0/pwm1=45 MAXTEMP=hwmon0/pwm1=55 MINSTART=hwmon0/pwm1=4 MINSTOP=hwmon0/pwm1=0
. esekeyd :
ïŒ apt install esekeyd ïŒ nano /etc/esekeyd.conf
:
POWER:/sbin/shutdown -h now RESTART:/sbin/reboot
, . , .
OMV
OMV :
ïŒ echo "deb http://packages.openmediavault.org/public erasmus main" > /etc/apt/sources.list.d/openmediavault.list ïŒ apt update ïŒ apt install openmediavault-keyring ïŒ apt install openmediavault
apt ( 457), . , .
apt collectd nginx:
dpkg: dependency problems prevent configuration of openmediavault: openmediavault depends on collectd (>= 5.1.0); however: Package collectd is not configured yet. openmediavault depends on nginx (>= 1.6.2); however: Package nginx is not configured yet.
nginx /etc/nginx/sites-available/default
listen [::]:80 default_server;
IPv6 .
collectd hostname ip /etc/hosts.
127.0.1.1 dns325
:
ïŒ apt install -f
. :
ïŒ omv-initsystem
以äžã§ãïŒ . 192.168.0.32, .

ãããã«
, , USB .
, . Linux. .
OpenMediaVault 3.x ("Erasmus"), -. , , OMV , D-Link.
. , , , .
: , , - . DLNA , . -, , , nginx + FastCGI.
Enjoy Embedding!