puppy 571 の pxe boot で thin client もどき
Posted: 14/09/24(水) 07:53
puppyを net boot することについてです。
元ネタは
https://docs.google.com/document/d/1aM_ ... l=en&pli=1
で 、これは puppyで サーバーを たちあげることについて書いてあるのですが、
dnsmasqの設定が明確でないので 原本とおりではむりでした。
(どなたか 正しいdnsmasq.confをおしえてください。dnsmasqをtftpdの代用にしてますね、ここは。 )
しかし まねしたとき initrd.gzとprecise-571JP.isoをもとにして できたinitrd.gz-bigで net bootができ thin client もどきがきました。(もどきなのは fdiskで自分のHDDをみるし topで自分のメモリをみるからですが、 このためにHDDに puppyをいれる手段ができと思いますー未施行)
ところで、PXEサーバーでは
ls -l /EXT2/netboot-p571/
total 273576
-rw-r--r-- 1 root wheel 137087813 Sep 23 18:46 initrd.gz-big
-rwxr-xr-x 1 root wheel 26474 Jan 1 1970 pxelinux.0
drwxrwxrwx 2 root wheel 4096 Jan 1 1970 pxelinux.cfg
-rw-r--r-- 1 root wheel 2802256 Sep 23 18:46 vmlinuz
と結構大きなinitrd.gz-bigなのですが、手元にあったBSDのtftpdで押し出すことができました。
なお
cat /EXT2/netboot-p571/pxelinux.cfg/default
default puppy
label puppy
kernel vmlinuz
append load initrd=initrd.gz-big
元ネタの要は
1. Install the appropriate DNSMASQ.PET
2. Install the netboot-server.pet
をいれ
mknetboot.sh
をはしらすことで 大きな initrd.gzができます。
あとは、上のように普通のPXEをつくるだけです。
なんか thin client もどきのような netboot puppyが立ち上がってきます。
不思議なことに英語モードです。
でも lang_pack_ja-1.9.sfsをloadしなくてもメニューからたどると日本語化できます。
もちろんインターネットもできます。
pmusic で音はでます。
ここなところはCDで立ち上がったpuppyのようなかんじです。
肝心の mknetboot.sh は以下でした。
#!/bin/sh
#jamesbond 2011
# convert a puppy iso into netboot-compatible vmlinuz and humongous initrd.gz
略
zcat /tmp/netboot_iso/initrd.gz | cpio -i
cp /tmp/netboot_iso/*.sfs .
find . | cpio -o -H newc | gzip -9 > ../initrd.gz
略
なので 以下のように作業をします
# cd p571/
# mkdir tmp
# cd tmp
# zcat ../initrd.gz |cpio -i
# ls
DISTRO_SPECS bin etc lib proc pup_ro1 pup_ro3 pup_ro5 pup_ro7 pup_ro9 pup_z sys var
README.txt dev init mnt pup_new pup_ro2 pup_ro4 pup_ro6 pup_ro8 pup_rw sbin tmp
# cp ../puppy_precise_5.7.1JP.sfs ./
# find . | cpio -o -H newc | gzip -9 > ../initrd.gz-big
# cd ../
# pwd
/mnt/home/p571
# ls -l
略
-rw-r--r-- 1 root root 1886180 9月 24 03:14 initrd.gz
-rw-r--r-- 1 root root 130736064 9月 26 10:16 initrd.gz-big
-rw-r--r-- 1 root root 2802256 9月 24 03:14 vmlinuz
-----
そこで 本格的にHDDに パピーをいれます。
fdisk が使えますので 、この後 mkfs.ext4でファイルシステムをつくり
USBの initrd.gz(普通サイズ) vmlinuz puppy_precise_5.7.1JP.sfsをHDD
にコピーし その後 menu > sysytem > grub4dos config でブートローダを
いれたらできるのではないかと予想されます。
こうすればUSBブートできないCDなしPCでも パピーができるのではないか、
また 他のLINUXをいれる必要がないのでHDDが有効に使えるのではないか
などと思います。
一方 thin client もどき パピー(ltspはきっと無理でしょうから)も魅力的で(でも機動に時間がかかるのが欠点です)。
この文は もどきの上で書きました。
元ネタは
https://docs.google.com/document/d/1aM_ ... l=en&pli=1
で 、これは puppyで サーバーを たちあげることについて書いてあるのですが、
dnsmasqの設定が明確でないので 原本とおりではむりでした。
(どなたか 正しいdnsmasq.confをおしえてください。dnsmasqをtftpdの代用にしてますね、ここは。 )
しかし まねしたとき initrd.gzとprecise-571JP.isoをもとにして できたinitrd.gz-bigで net bootができ thin client もどきがきました。(もどきなのは fdiskで自分のHDDをみるし topで自分のメモリをみるからですが、 このためにHDDに puppyをいれる手段ができと思いますー未施行)
ところで、PXEサーバーでは
ls -l /EXT2/netboot-p571/
total 273576
-rw-r--r-- 1 root wheel 137087813 Sep 23 18:46 initrd.gz-big
-rwxr-xr-x 1 root wheel 26474 Jan 1 1970 pxelinux.0
drwxrwxrwx 2 root wheel 4096 Jan 1 1970 pxelinux.cfg
-rw-r--r-- 1 root wheel 2802256 Sep 23 18:46 vmlinuz
と結構大きなinitrd.gz-bigなのですが、手元にあったBSDのtftpdで押し出すことができました。
なお
cat /EXT2/netboot-p571/pxelinux.cfg/default
default puppy
label puppy
kernel vmlinuz
append load initrd=initrd.gz-big
元ネタの要は
1. Install the appropriate DNSMASQ.PET
2. Install the netboot-server.pet
をいれ
mknetboot.sh
をはしらすことで 大きな initrd.gzができます。
あとは、上のように普通のPXEをつくるだけです。
なんか thin client もどきのような netboot puppyが立ち上がってきます。
不思議なことに英語モードです。
でも lang_pack_ja-1.9.sfsをloadしなくてもメニューからたどると日本語化できます。
もちろんインターネットもできます。
pmusic で音はでます。
ここなところはCDで立ち上がったpuppyのようなかんじです。
肝心の mknetboot.sh は以下でした。
#!/bin/sh
#jamesbond 2011
# convert a puppy iso into netboot-compatible vmlinuz and humongous initrd.gz
略
zcat /tmp/netboot_iso/initrd.gz | cpio -i
cp /tmp/netboot_iso/*.sfs .
find . | cpio -o -H newc | gzip -9 > ../initrd.gz
略
なので 以下のように作業をします
# cd p571/
# mkdir tmp
# cd tmp
# zcat ../initrd.gz |cpio -i
# ls
DISTRO_SPECS bin etc lib proc pup_ro1 pup_ro3 pup_ro5 pup_ro7 pup_ro9 pup_z sys var
README.txt dev init mnt pup_new pup_ro2 pup_ro4 pup_ro6 pup_ro8 pup_rw sbin tmp
# cp ../puppy_precise_5.7.1JP.sfs ./
# find . | cpio -o -H newc | gzip -9 > ../initrd.gz-big
# cd ../
# pwd
/mnt/home/p571
# ls -l
略
-rw-r--r-- 1 root root 1886180 9月 24 03:14 initrd.gz
-rw-r--r-- 1 root root 130736064 9月 26 10:16 initrd.gz-big
-rw-r--r-- 1 root root 2802256 9月 24 03:14 vmlinuz
-----
そこで 本格的にHDDに パピーをいれます。
fdisk が使えますので 、この後 mkfs.ext4でファイルシステムをつくり
USBの initrd.gz(普通サイズ) vmlinuz puppy_precise_5.7.1JP.sfsをHDD
にコピーし その後 menu > sysytem > grub4dos config でブートローダを
いれたらできるのではないかと予想されます。
こうすればUSBブートできないCDなしPCでも パピーができるのではないか、
また 他のLINUXをいれる必要がないのでHDDが有効に使えるのではないか
などと思います。
一方 thin client もどき パピー(ltspはきっと無理でしょうから)も魅力的で(でも機動に時間がかかるのが欠点です)。
この文は もどきの上で書きました。