无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 52532|回复: 54
打印 上一主题 下一主题

一个用Android手机做PXE服务器的方案(实现了Ubuntu、PE)

    [复制链接]
跳转到指定楼层
1#
发表于 2011-12-28 00:19:58 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
目前进度:
给SD卡分一个区,建立linux用的ext2文件系统
装进一个ARM版的Debian(貌似可以只用lib)
装上dnsmasq(已经搞定,其实CM版ROM自带dnsmasq,用不着debian里面的),这是一个DNS+DHCP+TFTP服务器!
配置dnsmasq,用USB绑定(USB网卡模式)连接电脑,尝试启动电脑(按网上相关照葫芦画瓢,已经能让虚拟机启动Debian安装界面)
重新编译内核,加入ISO、NFS支持,安装NFS服务器
安装iSCSI EnterpriseTarget

做好后,流程大体如下:
准备迷你路由器一个
关掉迷你路由器的DHCP
把路由器连上电脑的RJ45口
用调好的手机WiFi连接迷你无线路由器
手机启动dnsmasq,等于启动DHCP和TFTP服务器、NFS等服务器
重启电脑,PXE启动

如果有两台及以上机器的局域网而没有迷你路由,就关掉局域网的DHCP
(但是我这里有线路由开着DHCP也可以启动)
手机USB绑定连接另一台电脑,电脑上把两块网卡桥接,填好IP
手机启动dnsmasq
另一他电脑PXE启动

[ 本帖最后由 2011qq517025464 于 2012-2-14 02:49 编辑 ]

点评

www.hbshengwang.com 圣王小说  发表于 2015-3-16 04:33
2#
 楼主| 发表于 2011-12-28 12:21:32 | 显示全部楼层
看上去蛋疼但这应该有优势:
有网卡就能用,适合上网本等特殊环境
可以启动多台电脑
可以真正实现口袋系统
像U盘一样方便携带
回复

使用道具 举报

3#
 楼主| 发表于 2012-2-14 02:42:04 | 显示全部楼层
已经能启动Ubuntu Live CD模式了(挂载ISO镜像,使用NFS)
用起来凑合
WiFi速度不够快是真的,但是Ubuntu点两下,上个网,感觉没有多卡
现在进行疯狂挑战:部署XP,iSCSI都准备好了
内核都重新编译了,哈哈
回复

使用道具 举报

4#
 楼主| 发表于 2012-2-14 02:43:23 | 显示全部楼层
PE可以启动,需要把外置放进镜像手动加载,否则是光杆……
用起来也凑合
但是下载ISO有点煎熬……
回复

使用道具 举报

5#
 楼主| 发表于 2012-2-25 01:58:07 | 显示全部楼层
原帖由 <i>2010langd1314</i> 于 2012-2-21 21:14 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2388728&ptid=204441" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
强势关注,现在的问题是,Android手机 需要用的是Wifi,笔记本倒是有可能,台式机还需要弄个无线路由器,感觉有点。。。别扭。<br />
还是不如用个U盘,好呢,呵呵<br />
还是很期待,如果技术突破了,无盘的历史就要改写了、
<br />
只是Geek一下而已,很麻烦。用的就那些东西,资料自己Google:
debian用chroot跑还不错
电脑上也可以用qemu-arm-static来代替手机处理(快一些,当然是linux环境)
apt-get一下dnsmasq、nfs-kernel-server都拉回来了
但是chroot还是会找麻烦的
portmap重新编译了(参加openwrt相关网页),让他不要拒绝拥有root身份~
改了/etc/passwd来让他们以root运行(不这么干干脆跑不了,晕)
Linux内核重新编译,加入NFS服务器支持(我都编译成模块,编译完看起来正常,但是-fno-common没起效,模块全塞不进去,把gcc替换成一个脚本“拦路打劫”来搞定这个)
用这个源码(小细节:如果用电脑上的arm chroot来编译,必须重新make,把fixdep等等先HOSTCC出来,否则无法编译模块。这样省去一般的“交叉编译”)再编译出iscsi enterprise target(包括模块和工具)
pxelinux不错
用ramdisk来加载PE的ISO,凑合了
Ubuntu直接挂载ISO文件,live cd模式,凑合(当然编译了ISO模块)
我很懒,没自己做菜单(一般PXE不会有选择菜单吧,要的是全自动,但咱这不是维护工具么),用debian installer改一改,嘿,效果很好
……东西很杂,先说那么多,漏了什么再提

顺便,用这个AP+手机组合,还能再来个网线U盘(用iSCSI),哈哈

而且没有什么突破,你看见了,用的都是现成的,只是证明Linux不是只只会扛android机器人的企鹅,他能做的非常多,只是因为种种原因被开发商无视了
手机的WiFi是802.11g,不说是弱爆了也差不多了,如果提到802.11n估计又大有改观
WinPE就是加载内存盘有点烦人
至于安装系统,硬盘满了,没试……不过最高传输速率才1MB/s,的确煎熬,但是——现在的GHO还是很小的,自我安慰一下……(PE是需要自己搞定网络的,My God……给我惹急了我不用GHOST了!)
用我的有线路由配合,小调一下,可以上网
如果周围有WiFi,可以用AP桥接上去,应该也可以
XP应该算准备好了,加了EWF,看上去微软的EWF还是不错滴,现在朝镜像里面装,看看能不能启动,启动中/后是否煎熬……
回复

使用道具 举报

6#
 楼主| 发表于 2012-2-25 02:04:47 | 显示全部楼层
原帖由 <i>2011残月</i> 于 2012-2-20 23:04 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2388326&ptid=204441" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
装进一个ARM版的Debian,菜鸟看不懂这句,<br />
<br />
不过对方案很有兴趣。只能顶一下
<br />
Debian有ARM架构的移植,可以装在安卓手机上,用chroot来跑
我搞得很倒腾的,如果没有足够时间可砸还是暂时放下吧
给你个链接,不过是Google App Engine上的,我粘下内容来吧
http://alan-matrix.appspot.com/2 ... ian-to-android.html
Alan Matrix

Home
(RSS)
Login
  
移植Debian到Android 七月 2nd, 2011


研究了一下,成功的把debian移植到我的android手机上了。
大家知道,debian是基于linux内核的操作系统,他的APT包管理工具让系统管理变得轻松无比。
iphone越狱后,Crydia就给ios安装了一个debian,这样你就可以添加源,安装软件。
android的linux内核当然也不含糊,我们做一个debian的 最小化的镜像,放到sd卡上,然后挂载android的linux内核文件系统,就ok了。废话不多少,开始。
我的系统:PC:ubuntu 10.10 ;手机:android 2.3,Cronos版本 1.50,带busybox。
1.ubuntu安装qemu-arm-static debootstrap
sudo apt-get install qemu-arm-static debootstrap
2.创建IMG文件
dd if=/dev/zero of=debian.img seek=3500999999 bs=1 count=1
3.格式化镜像文件
sudo mkfs.ext2 -F debian.img
sudo tune2fs -c0 debian.img
4.挂载镜像文件
$ mkdir debian
$ sudo mount -o loop debian.img debian/
5.用debootstrap工具制作最小化系统
sudo debootstrap --verbose --arch=armel --foreign lenny debian http://ftp.tw.debian.org/debian
上面用的是台湾的debian源,你可以根据自己的网络情况修改。

6.创建SD卡目录,用来挂载SD卡。
sudo mkdir debian/sdcard
7.重新挂载使其具有可执行权限


sudo mount -o remount,rw,dev,exec debiansudo cp /usr/bin/qemu-arm-static debian/usr/bin/
8.chroot进debian目录
sudo chroot debian
9 .进入chroot后接下来执行系统的安装及配置
/debootstrap/debootstrap --second-stage
10.配置系统,安装过程可能要持续一会儿,完成后来进行我们需要的基本配置,首先是apt源
echo 'deb http://ftp.tw.debian.org/debian lenny main contrib non-free' > /etc/apt/sources.list
11.更新源
export HOME=/root export LC_ALL=C apt-get update
12.后续清理并完成
apt-get clean killall /usr/bin/qemu-arm-static exit
到此,IMG文件就做好了。下面我们就要把他安装到手机上。
13.在手机sd卡上创建debian文件夹,然后把上面做的镜像文件拷贝进去。
14.把手机跟电脑连接,进入usb调试模式。
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /systemcp /sdcard/debian/bootdeb /system/bin/chmod 755 /system/bin/bootdeb
mkdir /data/local/debian
mkdir /data/local/debian/mnt
15.其中bootdeb的脚本为:
#!/system/bin/sh

if [ ! -e /dev/loop0 ]
then
      ln /dev/block/loop0 /dev/loop0
fi

export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
export USER=root
export MNT=/data/local/debian/mnt

busybox clear
busybox echo "   Welcome to Debian for Adnroid ^_^ "
busybox echo ""
busybox echo "                                Alan  "
busybox echo " "
busybox echo " "
busybox echo "               a888a      "
busybox echo "             d888888b      "
busybox echo "             8P YP Y88      "
busybox echo "             8|o||o|88       "
busybox echo "             8.    .88       "
busybox echo "             8 ._.  Y8.      "
busybox echo "            d/       8b.     "
busybox echo "          .dP   .     Y8b.    "
busybox echo "         d8:         ::88b.   "
busybox echo "        d8             Y88b   "
busybox echo "       :8P             :888   "
busybox echo "        8a.    :      _a88P   "
busybox echo "      ._/ Yaa_ :    .| 88P|   "
busybox echo "      \    YP        | 8P  \. "
busybox echo "      /     \._____.d|    .|  "
busybox echo "       --..__)888888P ._.|"
busybox echo " "
busybox echo " "
sleep 1

mount -o loop -t ext2 /sdcard/debian/debian.img $MNT
busybox mount -o bind /sdcard $MNT/sdcard

busybox mount -t proc none $MNT/proc
busybox mount -t sysfs sysfs $MNT/sys
busybox mount -t devpts devpts $MNT/dev/pts
  
busybox echo "INIT: Debian booting....."
busybox sleep 1
busybox echo "Running Linux Kernel"
busybox sysctl -w net.ipv4.ip_forward=1
busybox echo "Type EXIT to end session"
busybox echo "Make sure you do a proper EXIT for a clean kill of Debian!"
busybox echo " "

busybox chroot $MNT /bin/bash

echo " "
echo "Shutting down Debian........"

busybox sleep 1

busybox fuser -k /data/local/debian/mnt
busybox fuser -k /data/local/debian/mnt/sdcard
busybox echo -en "\numount sys: "
umount /data/local/debian/mnt/sys
busybox echo -en "\numount pts: "
umount /data/local/debian/mnt/dev/pts
busybox echo -en "\numount proc: "
umount /data/local/debian/mnt/proc
busybox echo -en "\numount sdcard: "
umount /data/local/debian/mnt/sdcard
busybox echo -en "\numount debian.img: "
umount /data/local/debian/mnt
busybox echo -en "\n"
echo "Processes killed......"
16.然后运行这个脚本
startdeb
17. 此时已经进入debian系统,接下来配置DNS服务器和hostname
echo 'nameserver 202.118.66.6' > /etc/resolv.conf
echo "localhost" > /etc/hostname
echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
nameserver是你的dns服务器地址,根据自己的网络填写。
这样就OK啦。
附上截图一张:



Tags: debian android

386次阅读

Posted in Android |
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-15 04:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表