免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2032 | 回复: 5
打印 上一主题 下一主题

[系统安装] pxe无盘启动出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-03-06 19:27 |只看该作者 |倒序浏览
按照网上的教程设置了dhcp tftp  nfs  重新编译了内核,default为:append  selinux=0 rw ip=dhcp root=/dev/nfsroot nfsroot=192.168.0.1:/tftpboot/cluster vga=normal
可是出现了如下错误:

请问是什么原因?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2015-03-07 10:38 |只看该作者
不清楚,看报错,貌似是dhcp阶段就出问题了

论坛徽章:
0
3 [报告]
发表于 2015-03-08 09:26 |只看该作者
在内核文件ipconfig.c里找到了这么一段,不知道该怎么设置dhcp
/*
*  Send DHCP/BOOTP request to single interface.
*/
static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_diff)
{
        struct net_device *dev = d->dev;
        struct sk_buff *skb;
        struct bootp_pkt *b;
        struct iphdr *h;

        /* Allocate packet */
        skb = alloc_skb(sizeof(struct bootp_pkt) + LL_ALLOCATED_SPACE(dev) + 15,
                        GFP_KERNEL);
        if (!skb)
                return;
        skb_reserve(skb, LL_RESERVED_SPACE(dev));
        b = (struct bootp_pkt *) skb_put(skb, sizeof(struct bootp_pkt));
        memset(b, 0, sizeof(struct bootp_pkt));

        /* Construct IP header */
        skb_reset_network_header(skb);
        h = ip_hdr(skb);
        h->version = 4;
        h->ihl = 5;
        h->tot_len = htons(sizeof(struct bootp_pkt));
        h->frag_off = htons(IP_DF);
        h->ttl = 64;
        h->protocol = IPPROTO_UDP;
        h->daddr = htonl(INADDR_BROADCAST);
        h->check = ip_fast_csum((unsigned char *) h, h->ihl);

        /* Construct UDP header */
        b->udph.source = htons(6;
        b->udph.dest = htons(67);
        b->udph.len = htons(sizeof(struct bootp_pkt) - sizeof(struct iphdr));
        /* UDP checksum not calculated -- explicitly allowed in BOOTP RFC */

        /* Construct DHCP/BOOTP header */
        b->op = BOOTP_REQUEST;
        if (dev->type < 256) /* check for false types */
                b->htype = dev->type;
        else if (dev->type == ARPHRD_IEEE802_TR) /* fix for token ring */
                b->htype = ARPHRD_IEEE802;
        else if (dev->type == ARPHRD_FDDI)
                b->htype = ARPHRD_ETHER;
        else {
               printk("Unknown ARP type 0x%04x for device %s\n", dev->type, dev->name);
                b->htype = dev->type; /* can cause undefined behavior */
        }

        /* server_ip and your_ip address are both already zero per RFC2131 */
        b->hlen = dev->addr_len;
        memcpy(b->hw_addr, dev->dev_addr, dev->addr_len);
        b->secs = htons(jiffies_diff / HZ);
        b->xid = d->xid;

        /* add DHCP options or BOOTP extensions */
#ifdef IPCONFIG_DHCP
        if (ic_proto_enabled & IC_USE_DHCP)
                ic_dhcp_init_options(b->exten);
        else
#endif
                ic_bootp_init_ext(b->exten);

        /* Chain packet down the line... */
        skb->dev = dev;
        skb->protocol = htons(ETH_P_IP);
        if (dev_hard_header(skb, dev, ntohs(skb->protocol),
                            dev->broadcast, dev->dev_addr, skb->len) < 0 ||
            dev_queue_xmit(skb) < 0)
                printk("E";
}

论坛徽章:
0
4 [报告]
发表于 2015-03-09 13:00 |只看该作者
检查你的DHCP配置文件

论坛徽章:
0
5 [报告]
发表于 2015-03-09 15:01 |只看该作者
ddns-update-style interim;   
ignore client-updates;
allow bootp;
allow booting;
authoritative;
option interface-mtu 1500;

subnet 192.168.0.0 netmask 255.255.255.0 {
#      # --- default gateway
       option routers                  192.168.0.1;
       option subnet-mask              255.255.255.0;
       option broadcast-address        192.168.0.255;


        range dynamic-bootp 192.168.0.1 192.168.0.60;
        default-lease-time 21600;
        max-lease-time 43200;

host node05 {
            server-name "server";
            next-server 192.168.0.1;
            hardware ethernet 8CC4:19:A1:70;
            fixed-address 192.168.0.5;
            filename "/tftpboot/pxelinux.0";
            option root-path "/tftpboot/cluster";
         }

}

关键是pxe启动可以得到ip,可以获取内核,之后才出现这样的错误。

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
6 [报告]
发表于 2015-03-12 09:08 |只看该作者
pxe取得ip是在最开始阶段,你的系统已进入了,就不是dhcp服务器的问题了,看看tftp中的启动文件或nfs
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP