无忧启动论坛

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

[分享] android手机ipxe-http-nfs启动ubuntu成功

[复制链接]
跳转到指定楼层
1#
发表于 2014-10-2 16:59:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 510819776 于 2014-10-11 02:53 编辑

在这里发帖做个纪念 免得我忘记了这个过程
1.网络环境
wr720n有线连接台式机  wr720n无线连接android手机
手机显示连接速度72Mbps
2.路由器设置
路由器开启dhcp 192.168.2.100-199服务
正常启动台式机  电脑和手机是局域网 可以相互访问
3.手机方面配置
手机的pxe服务配置
使用armv7a的dnsmasq
dnsmasq.conf配置如下
interface=wlan0
listen-address=0.0.0.0
dhcp-range=192.168.2.0,proxy
enable-tftp
tftp-root=/mnt/sdcard/www/
dhcp-match=ipxe,175
dhcp-option=175,8:1:1
pxe-service=net:#ipxe,x86PC, "splashtop by richud.com", ipxe.kpxe

手机sdcard下面有www目录
www里面必须有ipxe.kpxe.0
启动手机的pxe服务命令 dnsmasq --conf-file=$CONF
手机http配置
使用arm版本的apache http server的httpd
配置文件httpd.conf
ServerRoot "/mnt/sdcard/apache/http"
Listen 0.0.0.0:80
#<IfModule !mpm_netware_module>
#<IfModule !mpm_winnt_module>

User shell
Group root
#ServerAdmin vvvv.1988@163.com
DocumentRoot "/mnt/sdcard/www"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/mnt/sdcard/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    IndexOptions Charset=UTF-8
    Allow from all
</Directory>
#<IfModule dir_module>
#    DirectoryIndex index.html
#</IfModule>
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
DefaultType text/plain

这里是把sdcard下面www目录设置为http根目录
效果是用电脑访问http://手机ip/
可以看到www下面的文件
本http服务提供ipxe netboot ubuntu的两个内核文件 vmlinuz和initrd.lz
所以www下面必须有从ubuntu的iso中提取的vmlinuz和initrd.lz
http服务的启动命令是
httpd -f /sdcard/apache/httpd.conf
nfs服务配置
使用unfsd3的源码编译unfsd 支持nfs v3共享 无rpcbind 无portmap
exports配置
/sdcard/nfsboot 192.168.2.0/255.255.255.0(ro,insecure,no_root_squash)
ip地址自己修改下
启动nfs服务命令
unfsd -e /sdcard/nfsboot/exports -t -p -m 2049 -s
好了 说下手机sdcard下面的目录和文件吧
nfsboot目录下有ubuntu14.04的iso解压的文件和exports
www目录下有ipxe.kpxe.0 vmlinuz initrd.lz ubuntu.ipxe
apache目录是放的arm版本的apache
ubuntu.ipxe内容
#!ipxe
kernel http://手机ip/vmlinuz boot=casper netboot=nfs nfsroot=手机ip:/sdcard/nfsboot,nolock,mountport=2049,nfsvers=3 locale=zh_CN.UTF-8 quiet splash
initrd http://手机ip/initrd.lz
帖子已经接近完美了
然后电脑打开pxe启动
按ctrl b进入ipxe命令行
输入
dhcp
chain http://手机ip/ubuntu.ipxe
之后就能进入ubuntu 14.04的livecd桌面了
哈哈 失败了 对呀
好了 因为手机的nfs服务器没有portmap
所以不可以直接就这样启动
怎么办
简单  修改下initrd.lz
mv initrd.lz initrd.lzma
lzma -d initrd.lzma
cpio -id<initrd
修改scrips/casper
如下
do_nfsmount() {
    rc=1
    modprobe "${MP_QUIET}" nfs
    if [ -z "${NFSOPTS}" ]; then
        NFSOPTS=""
    else
        NFSOPTS=",${NFSOPTS}"
    fi

    [ "$quiet" != "y" ] && log_begin_msg "Trying mount -t nfs -o ro${NFSOPTS} ${NFSROOT} ${mountpoint}"
    # FIXME: This while loop is an ugly HACK round an nfs bug
    i=0
    while [ "$i" -lt 10 ]; do
        mount -t nfs -o ro,nolock,nfsvers=3,proto=tcp,mountport=2049 "${NFSROOT}" "${mountpoint}" && rc=0 && break
        sleep 1
        i="$(($i + 1))"
    done
    return ${rc}
}
其实就是修改了 原来的nfsmount *********
改好后打包回去
find .|cpio -o -H newc>initrd
lzma -7 initrd
mv initrd.lzma initrd.lz
ok了
内核这样修改后
ubuntu.ipxe就可以直接这样
#!ipxe
kernel http://手机ip/vmlinuz boot=casper netboot=nfs nfsroot=手机ip:/sdcard/nfsboot locale=zh_CN.UTF-8 quiet splash
initrd http://手机ip/initrd.lz

帖子快结束了
我这里要说的是我使用的是基于ubuntu的发行版本linuxmint 17 kde x64位系统
我想ubuntu 14.04应该也是一样的
关于细节方面可以看我的其他帖子 哈哈














已经编译了一个可以用的portmap
这样手机的nfs服务器就不需要 再去修改ubuntu的initrd.lz文件了
关注我的其他帖子
已经发布了一个 集成了nfs http 和pxe的安卓apk











评分

参与人数 1无忧币 +5 收起 理由
ql1307096 + 5 很给力!

查看全部评分

2#
发表于 2014-10-12 09:18:24 | 只看该作者
不错的教程,有时间弄一下试试看

点评

http://bbs.wuyou.com/forum.php?mod=viewthread&tid=342394 软件已经发布 apk的  详情 回复 发表于 2014-10-12 18:41
回复

使用道具 举报

3#
 楼主| 发表于 2014-10-12 18:41:25 | 只看该作者
ql1307096 发表于 2014-10-12 09:18
不错的教程,有时间弄一下试试看

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=342394
软件已经发布 apk的
回复

使用道具 举报

4#
发表于 2014-10-21 22:01:40 | 只看该作者
高手呀,前排留名

点评

谢谢夸奖  发表于 2014-10-21 23:24
回复

使用道具 举报

5#
 楼主| 发表于 2014-11-29 16:29:22 来自手机 | 只看该作者
欢迎折腾
回复

使用道具 举报

6#
发表于 2020-7-7 20:27:52 | 只看该作者
太牛了,小白看不懂呀
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-24 07:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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