ジャンル不定の日記です。

sudoできるように

sudoできるようにvisudoでユーザー設定したが、sudoできねえ・・・

けど、解決した。
/etc/hosts

127.0.1.1
に端末のhost名を設定すればいいみたい。
ホスト名解決ができないとsudoできないらしい。

SSHとユーザー追加

nfsの前に、まずsshだな。
ってわけだが、
rootでログインすんのもどうかだし、ユーザー追加・・・

ってわけなんだが、
adduserで追加してもログインしてもすぐ切断されちゃう・・・

ってわけでハマったが、
/etc/sysctl.d/10-process-security.conf
の数字部分を、32768にしないとリモートからユーザーログインできない?
設定したら入れた。

SSHはとりあえず接続できる。
パスワードめんどいから、公開鍵認証にしたいところだが、めんどいからこんどでいいや。
先に、追加したユーザーでsudoできるようにだな。

SheevaPlug届いた

やっとSheevaPlug届きました。

マニュアルとか入ってないんだね。
公式からドキュメントも落とせないし・・・
先人ページなかったら絶対無理だわw

まあ、まずは、
LANケーブルつなぐ。
USBケーブルつなぐ。
電源ケーブルつなぐ。
で、
母艦のLinuxからシリアル接続。

シリアル端末は、メイン機に最初からscreenって端末が入ってたんで、それ使う。
母艦の/dev見て、ttyUSB0ってのがあったんで、それでやってみたらつながった。
screen /dev/ttyUSB0 115200

U-Bootっブートローダが入ってるが、
ブート画面でキー押してキャンセルして、
Marvell>>
って出る画面で、U-Bootのコマンドが使える。

インストールされてるU-Bootのバージョンは、
U-Boot 1.1.4 (Jul 14 2009 - 06:46:57) Marvell version: 3.4.16
だった。

ブートローダから使えるコマンド一覧は、
?[Enter](help[Enter]でも)
見れる。

boot[Enter]
で起動。
説明書ないから困るが、
初期のrootパスワードがnosoup4u
とりあえずリブート。

Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root)
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_root=root=/dev/nfs rw
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethmtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
nandEcc=1bit
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethact=egiga0
filesize=202588
fileaddr=2000000
netmask=255.255.255.0
ipaddr=10.4.50.4
serverip=10.4.50.5
tun_diag=yes
run_diag=no
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
ethaddr=F0:AD:4E:00:BB:59
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes

Environment size: 1374/131068 bytes
printenvコマンドでU-Bootの環境変数が見れるんで、メモ。
またboot

まず、ルータからIPアドレスは取得出来てるんだが、
DNSからドメインが取得できない。
127.0.0.1
がネームサーバーになっちゃってる。
/etc/dhcp3/dhclient.conf
の、
supersede domain-name-servers 127.0.0.1;
って行をコメントアウトしてreboot。
pingで適当なドメインで確認。成功。

U-Bootはアップデート失敗すると怖いから初期バージョンのままにしておくつもりだが、
kernelはアップデートしたいんだが、
http://sheeva.with-linux.com/sheeva/
↑コミュニティーサイト?
にSheevaPlug用のkernelがたくさんあって好きなバージョンを入れられる。
README-PLUG-UPDATE.sh
が、READMEのくせに.shの実行ファイルになってて、これで簡単にインストール出来るらしい。
モジュールも入れてくれるみたい。

USBメモリをext3でフォーマットして、
README-PLUG-UPDATE.sh
をUSBメモリに入れて、SheevaPlugでマウント。
USBつないだら/dev/sda1がでてきたんで、/dev/sda1がUSBストレージぽい。
mkdir /mnt/usb
mount -t ext3 /dev/sda1 /mnt/usb
マウント成功。

cd /mnt/usb
chmod 0755 README-PLUG-UPDATE.sh
で実行権限付加

で、実行だが、
怪しいもんいきなり実行するのもあれだから、内容確認。
知らないコマンドも入ってるが、204行のシェルスクリプトだからなんとなくわかる。
パラメータ2個で実行して、
1個目のパラメータがカーネルバージョン。
2個目のパラメータが、--nandkernelか--rootkernel
--nandkernelだと内蔵フラッシュのカーネルを更新。
--rootkernelだと実行中カーネルを更新
と思う。
バージョンは2系列で一番新しい、2.6.39.4にした。

と思ったが、実行できない。
wgetがないらしい。
Ubuntu 9.04はリポジトリ移動してるから変更しなきゃいけない。
と思ったが、apt-cache search wgetでコマンド通るね。
けど、apt-get install wgetでエラー。
/var/cache/apt/archives
がないって怒られる。
mkdir /var/cache/apt/archives
さらに、
/var/cache/apt/archives/partial
がないって怒られる・・・
mkdir /var/cache/apt/archives/partial

で、今度はapt-getできたんだが、
やっぱリポジトリつながらねえわw
apt-cacheはリポジトリつながないんだね。
/etc/apt/sources.list
が、
deb http://ports.ubuntu.com jaunty main restricted universe multiverse
ってなってるのを、
#deb http://ports.ubuntu.com jaunty main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse
に変更。
apt-get update
で接続成功。
apt-get install wget
でwgetインストール。

./README-PLUG-UPDATE.sh 2.6.39.4 --nandkernel
でカーネルアップデートして、
READMEに書いてあるが、
U-Bootの設定変更しなきゃいけないらしいんで、
setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootargs rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1
saveenv
reset
で変更して再起動で、起動成功。
nfsマウント?の謎のIPとか付いてたのは要らなそうだから削除。
uname -a
でカーネル確認。
新しいのになってた。

起動時に余計なことしてるみたいで、
/etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#insmod /boot/fat.ko
#insmod /boot/vfat.ko
mkdir -p /var/cache/apt/archives/partial
#/root/discoverd
#cd /
#./demo.sh
#date 012618002009
#hwclock -w

exit 0
な感じに変更。
母艦だと、
exit 0
しかないんだが、
さっきmkdirした、
/var/cache/apt/archives/partial
がなくなってた。
dfでtmpfsなってるけど、tmpfsはRAMなんだな。
起動時にfatのエラーが出てたが、このファイル変更で消えた。

あとは、起動時に、
Starting kernel log daemon
ってエラー出るんだが、とりあえず後回し。

時刻が日本時間になってなかったんで設定。
langage-packはaptでインストール出来なかった。
locale-gen ja_JP.UTF-8
echo 'LANG="ja_JP.UTF-8"' > /etc/default/locale
dpkg-reconfigure tzdata
でAsia→Tokyoってすればいいらしい。
ローカル時間に変わった。
/etc/ntp.conf
がなかったんだが、サーバー設定しなくても、
ntpdateするとき
ntpdate  ntp.nict.jp
ってすればいいかな。


とりあえずここまでにしとく。
あとでまた続き。
nfsをやりたい。