基本的には、
Debian 7.1 のインストール(1)ディレクトリツリーの作成
と同じ。
ただし、使うのは、LS410D + 標準ファーム
[root@LS410D06E ~]# which ar /usr/bin/ar [root@LS410D06E ~]# which wget /usr/bin/wget [root@LS410D06E ~]# ls -l /usr/bin/ar lrwxrwxrwx 1 root root 17 Jul 4 22:55 /usr/bin/ar -> ../../bin/busybox* [root@LS410D06E ~]# ls -l /usr/bin/wget -rwxr-xr-x 1 root root 328016 Jul 5 00:42 /usr/bin/wget* [root@LS410D06E ~]#あるある。
[root@LS410D06E ~]# cd /tmp [root@LS410D06E tmp]# wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb --2013-10-28 23:51:13-- http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb Resolving ftp.debian.org... 130.89.148.12, 2001:610:1908:b000::148:12 Connecting to ftp.debian.org|130.89.148.12|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 55628 (54K) [application/x-debian-package] Saving to: `debootstrap_1.0.55_all.deb' 100%[======================================>] 55,628 92.4K/s in 0.6s 2013-10-28 23:51:14 (92.4 KB/s) - `debootstrap_1.0.55_all.deb' saved [55628/55628] [root@LS410D06E tmp]#
[root@LS410D06E tmp]# ar -x debootstrap_1.0.55_all.deb [root@LS410D06E tmp]# cd / [root@LS410D06E /]# zcat /tmp/data.tar.xz | tar tv zcat: invalid magic tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors [root@LS410D06E /]#がー。xz やん。
ところで、標準ファームに xz ってあるの?
[root@LS410D06E /]# which xz /usr/bin/xz [root@LS410D06E /]# ls -l /usr/bin/xz -rwxr-xr-x 1 root root 56340 Jul 5 00:42 /usr/bin/xz* [root@LS410D06E /]#ある!
[root@LS410D06E /]# xz -dv /tmp/data.tar.xz /tmp/data.tar.xz (1/1) 100 % 53.0 KiB / 220.0 KiB = 0.241 [root@LS410D06E /]# tar xvf /tmp/data.tar ./ ./usr/ ./usr/share/ ./usr/share/man/ : : ./usr/share/debootstrap/scripts/stable ./usr/share/debootstrap/scripts/jessie ./usr/share/debootstrap/scripts/trusty [root@LS410D06E /]#
[root@LS410D06E ~]# vi makehackkit_131030.sh : : [root@LS410D06E ~]# cat !$ cat makehackkit_131030.sh #!/bin/sh # # Copyright (C) 2013 Yasunari YAMASHITA. All Rights Reserved. # set -x DEBINST=/mnt/disk1/debinst ARCH=armhf VERSION=wheezy # make working directory rm -fr $DEBINST mkdir -p $DEBINST # exec debootstrap cd / date /usr/sbin/debootstrap --arch $ARCH $VERSION $DEBINST http://ftp.jp.debian.org/debian date # copy /dev (cd / ; tar cf - dev)|(cd $DEBINST; tar xvf -) # mount /proc chroot $DEBINST mount -t proc /proc proc # reconfigure TimeZone chroot $DEBINST dpkg-reconfigure tzdata # edit /etc/apt/sources.list ( echo deb-src http://ftp.jp.debian.org/debian $VERSION main echo echo deb http://security.debian.org/ $VERSION/updates main echo deb-src http://security.debian.org/ $VERSION/updates main ) >> $DEBINST/etc/apt/sources.list # update package lists chroot $DEBINST apt-get update chroot $DEBINST apt-get -y -f install chroot $DEBINST apt-get -y upgrade # install & reconfigure locales chroot $DEBINST apt-get install locales chroot $DEBINST dpkg-reconfigure locales # install ssh chroot $DEBINST apt-get install ssh # update password of root chroot $DEBINST passwd root # install some packages chroot $DEBINST apt-get -y install xfsprogs psmisc sudo inetutils-telnetd # edit /etc/inetd.conf TARGETFILE=$DEBINST/etc/inetd.conf mv $TARGETFILE{,.orig} sed \ -e 's/^#実行する。# telnet/telnet/' \ $TARGETFILE.orig > $TARGETFILE rm $TARGETFILE.orig # add guest user chroot $DEBINST adduser --gecos "" guest rm -fr $DEBINST/home/guest # create /initrd mkdir $DEBINST/initrd # edit /etc/inittab TARGETFILE=$DEBINST/etc/inittab mv $TARGETFILE{,.orig} sed \ -e 's/^\([0-9]:[0-9]*:respawn:.*\)$/#\1/' \ -e '/^#T1/aT0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100' \ $TARGETFILE.orig > $TARGETFILE rm $TARGETFILE.orig # clean up chroot $DEBINST apt-get clean [root@LS410D06E ~]#
[root@LS410D06E ~]# sh !$ sh makehackkit_131030.sh + DEBINST=/mnt/disk1/debinst + ARCH=armhf + VERSION=wheezy + rm -fr /mnt/disk1/debinst + mkdir -p /mnt/disk1/debinst + cd / + date Thu Oct 31 00:09:58 JST 2013 + /usr/sbin/debootstrap --arch armhf wheezy /mnt/disk1/debinst http://ftp.jp.debian.org/debian I: Retrieving Release W: Cannot check Release signature; keyring file not available /usr/share/keyrings/debian-archive-keyring.gpg I: Retrieving Packages I: Validating Packages I: Resolving dependencies of required packages... : : I: Base system installed successfully. + date Thu Oct 31 00:27:37 JST 2013 : : + chroot /mnt/disk1/debinst dpkg-reconfigure tzdata Package configuration lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu Configuring tzdata tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x Please select the geographic area in which you live. Subsequent configuration questions will narrow x x this down by presenting a list of cities, representing the time zones in which they are located. x x x x Geographic area: x x x x Africa x x America x x Antarctica x x Australia x x Arctic Ocean x x Asia x x Atlantic Ocean x x Europe x x Indian Ocean x x Pacific Ocean x x System V timezones x x US x x None of the above x x x x x x <Ok> <Cancel> x x x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjAsia を選ぶ
Package configuration lqqqqqqqqqqqqqqqqqqqqqqqu Configuring tzdata tqqqqqqqqqqqqqqqqqqqqqqqk x Please select the city or region corresponding to your time zone. x x x x Time zone: x x x x Pyongyang x x Qatar a x x Qyzylorda a x x Rangoon a x x Riyadh a x x Riyadh87 a x x Riyadh88 a x x Riyadh89 a x x Sakhalin a x x Samarkand a x x Seoul a x x Shanghai a x x Singapore a x x Taipei a x x Tashkent a x x Tbilisi a x x Tehran a x x Tel Aviv a x x Thimphu a x x Tokyo a x x Ujung Pandang a x x Ulaanbaatar a x x Urumqi a x x Ust-Nera a x x Vientiane x x Vladivostok a x x Yakutsk a x x Yekaterinburg a x x Yerevan x x x x x x <Ok> <Cancel> x x x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjja_JP.EUC-JP EUC-JPとja_JP.UTF-8 UTF-8とをインストールしておくTokyo を選ぶCurrent default time zone: 'Asia/Tokyo' Local time is now: Thu Oct 31 00:28:44 JST 2013. Universal Time is now: Wed Oct 30 15:28:44 UTC 2013. + echo deb-src http://ftp.jp.debian.org/debian wheezy main + echo + echo deb http://security.debian.org/ wheezy/updates main + echo deb-src http://security.debian.org/ wheezy/updates main + chroot /mnt/disk1/debinst apt-get update Get:1 http://ftp.jp.debian.org wheezy Release.gpg [1672 B] Hit http://ftp.jp.debian.org wheezy Release : : Selecting previously unselected package locales. (Reading database ... 9298 files and directories currently installed.) Unpacking locales (from .../locales_2.13-38_all.deb) ... Processing triggers for man-db ... Setting up locales (2.13-38) ... Generating locales (this might take a while)... Generation complete. + chroot /mnt/disk1/debinst dpkg-reconfigure locales Package configuration lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu Configuring locales tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x Locales are a framework to switch between multiple languages and allow users to use their language, x x country, characters, collation order, etc. x x x x Please choose which locales to generate. UTF-8 locales should be chosen by default, particularly for x x new installations. Other character sets may be useful for backwards compatibility with older systems x x and software. x x x x Locales to be generated: x x x x [ ] iu_CA UTF-8 ↑ x x [ ] iw_IL ISO-8859-8 a x x [ ] iw_IL.UTF-8 UTF-8 ` x x [*] ja_JP.EUC-JP EUC-JP a x x [*] ja_JP.UTF-8 UTF-8 a x x [ ] ka_GE GEORGIAN-PS ↓ x x x x x x <Ok> <Cancel> x x x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
Package configuration lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu Configuring locales tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x Many packages in Debian use locales to display text in the correct language for the user. You can x x choose a default locale for the system from the generated locales. x x x x This will select the default language for the entire system. If this system is a multi-user system x x where not all users are able to speak the default language, they will experience difficulties. x x x x Default locale for the system environment: x x x x None x x ja_JP.EUC-JP x x ja_JP.UTF-8 x x x x x x <Ok> <Cancel> x x x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjデフォルトは ja_JP.UTF-8 にする
Generating locales (this might take a while)... ja_JP.EUC-JP... done ja_JP.UTF-8... done Generation complete. : : Setting up tcpd (7.6.q-24) ... Setting up xauth (1:1.0.7-1) ... Setting up ssh (1:6.0p1-4) ... + chroot /mnt/disk1/debinst passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully : : in auto mode Setting up libfile-copy-recursive-perl (0.38-1) ... Setting up update-inetd (4.43) ... Setting up inetutils-inetd (2:1.9-2) ... [warn] Not starting internet superserver: no services enabled. ... (warning). Setting up inetutils-telnetd (2:1.9-2) ... + TARGETFILE=/mnt/disk1/debinst/etc/inetd.conf + mv /mnt/disk1/debinst/etc/inetd.conf /mnt/disk1/debinst/etc/inetd.conf.orig + sed -e 's/^#<off># telnet/telnet/' /mnt/disk1/debinst/etc/inetd.conf.orig + rm /mnt/disk1/debinst/etc/inetd.conf.orig + chroot /mnt/disk1/debinst adduser --gecos '' guest Adding user `guest' ... Adding new group `guest' (1000) ... Adding new user `guest' (1000) with group `guest' ... Creating home directory `/home/guest' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully + rm -fr /mnt/disk1/debinst/home/guest + mkdir /mnt/disk1/debinst/initrd + TARGETFILE=/mnt/disk1/debinst/etc/inittab + mv /mnt/disk1/debinst/etc/inittab /mnt/disk1/debinst/etc/inittab.orig + sed -e 's/^\([0-9]:[0-9]*:respawn:.*\)$/#\1/' -e '/^#T1/aT0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100' /mnt/disk1/debinst/etc/inittab.orig + rm /mnt/disk1/debinst/etc/inittab.orig + chroot /mnt/disk1/debinst apt-get clean [root@LS410D06E ~]#
[root@LS410D06E ~]# cat /mnt/disk1/debinst/etc/adjtime cat: can't open '/mnt/disk1/debinst/etc/adjtime': No such file or directory [root@LS410D06E ~]#がー。ない。
/etc/init.d/hwclock.sh を見る
[root@LS410D06E ~]# less /mnt/disk1/debinst/etc/init.d/hwclock.sh : : # 2012-02-16 Roger Leighないなら、作ればよいらしい。# - Use the UTC/LOCAL setting in /etc/adjtime rather than # the UTC setting in /etc/default/rcS. Additionally # source /etc/default/hwclock to permit configuration. : : if [ -w /etc ] && [ ! -f /etc/adjtime ] && [ ! -e /etc/adjtime ]; t hen printf "0.0 0 0.0\n0\nUTC" > /etc/adjtime fi : [root@LS410D06E ~]#
[root@LS410D06E ~]# echo 0.0 0 0.0 > /mnt/disk1/debinst/etc/adjtime [root@LS410D06E ~]# echo 0 >> /mnt/disk1/debinst/etc/adjtime [root@LS410D06E ~]# echo LOCAL >> /mnt/disk1/debinst/etc/adjtime [root@LS410D06E ~]# cat !$ cat /mnt/disk1/debinst/etc/adjtime 0.0 0 0.0 0 LOCAL [root@LS410D06E ~]#さて、これで、できたかな。
[root@LS410D06E ~]# cat !$ cat makehackkit_131031.sh #!/bin/sh # # Copyright (C) 2013 Yasunari YAMASHITA. All Rights Reserved. # set -x DEBINST=/mnt/disk1/debinst ARCH=armhf VERSION=wheezy # make working directory rm -fr $DEBINST mkdir -p $DEBINST # exec debootstrap cd / date /usr/sbin/debootstrap --arch $ARCH $VERSION $DEBINST http://ftp.jp.debian.org/debian date # copy /dev (cd / ; tar cf - dev)|(cd $DEBINST; tar xvf -) # mount /proc chroot $DEBINST mount -t proc /proc proc # reconfigure TimeZone chroot $DEBINST dpkg-reconfigure tzdata # edit /etc/apt/sources.list ( echo deb-src http://ftp.jp.debian.org/debian $VERSION main echo echo deb http://security.debian.org/ $VERSION/updates main echo deb-src http://security.debian.org/ $VERSION/updates main ) >> $DEBINST/etc/apt/sources.list # update package lists chroot $DEBINST apt-get update chroot $DEBINST apt-get -y -f install chroot $DEBINST apt-get -y upgrade # install & reconfigure locales chroot $DEBINST apt-get install locales chroot $DEBINST dpkg-reconfigure locales # install ssh chroot $DEBINST apt-get install ssh # update password of root chroot $DEBINST passwd root # install some packages chroot $DEBINST apt-get -y install xfsprogs psmisc sudo inetutils-telnetd # edit /etc/inetd.conf TARGETFILE=$DEBINST/etc/inetd.conf mv $TARGETFILE{,.orig} sed \ -e 's/^#こんなところか??# telnet/telnet/' \ $TARGETFILE.orig > $TARGETFILE rm $TARGETFILE.orig # add guest user chroot $DEBINST adduser --gecos "" guest rm -fr $DEBINST/home/guest # create /initrd mkdir $DEBINST/initrd # edit /etc/inittab TARGETFILE=$DEBINST/etc/inittab mv $TARGETFILE{,.orig} sed \ -e 's/^\([0-9]:[0-9]*:respawn:.*\)$/#\1/' \ -e '/^#T1/aT0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100' \ $TARGETFILE.orig > $TARGETFILE rm $TARGETFILE.orig # clean up chroot $DEBINST apt-get clean # create /etc/adjtime ( echo 0.0 0 0.0 echo 0 echo LOCAL ) > /mnt/disk1/debinst/etc/adjtime # umount /proc chroot $DEBINST umount /proc # make archive cd $DEBINST tar zcvf /mnt/disk1/share/hackkit/hackkit_"$VERSION"_"$ARCH"_`date +%y%m%d`.tar.gz . [root@LS410D06E ~]#
|
← 最初の設定~ftp サーバ、開発環境のインストール |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ armhf でハックキット(2)インストール |
Copyright (C) 2003-2013 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市