亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? loader.c~

?? linux 安裝程序
?? C~
?? 第 1 頁 / 共 5 頁
字號:
                     !strncasecmp(argv[i], "nomount", 7) ||                     !strncasecmp(argv[i], "vnc", 3) ||                     !strncasecmp(argv[i], "vncconnect=", 11) ||                     !strncasecmp(argv[i], "headless", 8) ||                     !strncasecmp(argv[i], "usefbx", 6) ||                     !strncasecmp(argv[i], "mpath", 6) ||                     !strncasecmp(argv[i], "nompath", 8) ||                     !strncasecmp(argv[i], "dmraid", 6) ||                     !strncasecmp(argv[i], "nodmraid", 8) ||                     !strncasecmp(argv[i], "xdriver=", 8) ||                     !strncasecmp(argv[i], "vesa", 4) ||                     !strncasecmp(argv[i], "syslog=", 7)) {                 /* vnc implies graphical */                if (!strncasecmp(argv[i], "vnc", 3)) {                    logMessage(INFO, "vnc forced cmdline mode from cmdline");                    flags |= LOADER_FLAGS_GRAPHICAL;                }                if (!strncasecmp(argv[i], "vesa", 4)) {                    if (asprintf(&extraArgs[numExtraArgs],                                 "--xdriver=vesa") == -1)                        return;                    logMessage(WARNING, "\"vesa\" command line argument is deprecated.  Use \"xdriver=vesa\".");                } else {                    if (asprintf(&extraArgs[numExtraArgs],"--%s",argv[i]) == -1)                        return;                }                numExtraArgs += 1;                if (numExtraArgs > (MAX_EXTRA_ARGS - 2)) {                     logMessage(WARNING, "Too many command line arguments (max "                                "allowed is %d), rest will be dropped.",                                MAX_EXTRA_ARGS);                }            }        }    }    readNetInfo(&loaderData);    /* NULL terminates the array of extra args */    extraArgs[numExtraArgs] = NULL;    return;}#if 0/* determine if we are using a framebuffer console.  return 1 if so */static int checkFrameBuffer() {    int fd;    int rc = 0;    struct fb_fix_screeninfo fix;    if ((fd = open("/dev/fb0", O_RDONLY)) == -1) {        return 0;    }        if (ioctl(fd, FBIOGET_FSCREENINFO, &fix) >= 0) {        rc = 1;    }    close(fd);    return rc;}#endif/* make sure they have enough ram */static void checkForRam(void) {    if (totalMemory() < MIN_RAM) {        char *buf;        buf = sdupprintf(_("You do not have enough RAM to install %s "                           "on this machine."), getProductName());        startNewt();        newtWinMessage(_("Error"), _("OK"), buf);        free(buf);        stopNewt();        exit(0);    }}static int haveDeviceOfType(int type, moduleList modLoaded) {    struct device ** devices;    devices = probeDevices(type, BUS_UNSPEC, PROBE_LOADED);    if (devices) {        return 1;    }    return 0;}/* fsm for the basics of the loader. */static char *doLoaderMain(char * location,                          struct loaderData_s * loaderData,                          moduleInfoSet modInfo,                          moduleList modLoaded,                          moduleDeps * modDepsPtr) {    enum { STEP_LANG, STEP_KBD, STEP_METHOD, STEP_DRIVER,            STEP_DRIVERDISK, STEP_NETWORK, STEP_IFACE,           STEP_IP, STEP_URL, STEP_DONE } step;    char * url = NULL;    char * ret = NULL;    int dir = 1;    int rc, i;    char * installNames[10]; /* 10 install methods will be enough for anyone */    int numValidMethods = 0;    int validMethods[10];    int methodNum = -1;    int needed = -1;    int needsNetwork = 0;    int rhcdfnd = 0;    char * devName = NULL;    static struct networkDeviceConfig netDev;    char * kbdtype = NULL;    for (i = 0; i < numMethods; i++, numValidMethods++) {        installNames[numValidMethods] = installMethods[i].name;        validMethods[numValidMethods] = i;    }    installNames[numValidMethods] = NULL;    /* have we preselected this to be our install method? */    if (loaderData->method >= 0) {        methodNum = loaderData->method;        /* disable the fast path (#102652) */        flags |= LOADER_FLAGS_ASKMETHOD;    }    /* check to see if we have a CD.  If we have one, then     * we can fast-path the CD and not make people answer questions in      * text mode.  */    if (!FL_ASKMETHOD(flags) && !FL_KICKSTART(flags)) {        url = findAnacondaCD(location, modInfo, modLoaded, * modDepsPtr, !FL_RESCUE(flags));        /* if we found a CD and we're not in rescue or vnc mode return */        /* so we can short circuit straight to stage 2 from CD         */        if (url && (!FL_RESCUE(flags) && !hasGraphicalOverride()))            return url;        else {            rhcdfnd = 1;            methodNum = 0;        }    }    if (!FL_CMDLINE(flags))        startNewt();    step = STEP_LANG;    while (step != STEP_DONE) {        switch(step) {        case STEP_LANG:            if (loaderData->lang && (loaderData->lang_set == 1)) {                setLanguage(loaderData->lang);            } else {                chooseLanguage(&loaderData->lang);            }            step = STEP_KBD;            dir = 1;            break;        case STEP_KBD:            if (loaderData->kbd && (loaderData->kbd_set == 1)) {                /* JKFIXME: this is broken -- we should tell of the                  * failure; best by pulling code out in kbd.c to use */                if (isysLoadKeymap(loaderData->kbd)) {                    logMessage(WARNING, "requested keymap %s is not valid, asking", loaderData->kbd);                    loaderData->kbd = NULL;                    loaderData->kbd_set = 0;                    break;                }                rc = LOADER_NOOP;            } else {                /* JKFIXME: should handle kbdtype, too probably... but it                  * just matters for sparc */                if (!FL_CMDLINE(flags))                    rc = chooseKeyboard(loaderData, &kbdtype);                else                   rc = LOADER_NOOP;            }            if (rc == LOADER_NOOP) {                if (dir == -1)                    step = STEP_LANG;                else                    step = STEP_METHOD;                break;            }            if (rc == LOADER_BACK) {                step = STEP_LANG;                dir = -1;            } else {                step = STEP_METHOD;                dir = 1;            }            break;        case STEP_METHOD:            /* this is kind of crappy, but we want the first few questions             * to be asked when using rescue mode even if we're going             * to short-circuit to the CD.             *             * Alternately, if we're in a VNC install based from CD we             * can skip this step because we already found the CD */            if (url) {                if (FL_RESCUE(flags)) {                    return url;                } else if (rhcdfnd) {                    step = STEP_NETWORK;                    dir = 1;                    break;                }            }	                needed = -1;            if (loaderData->method != -1 && methodNum != -1) {                rc = 1;            } else {                /* we need to set these each time through so that we get                 * updated for language changes (#83672) */                for (i = 0; i < numMethods; i++) {                    installNames[i] = _(installMethods[i].name);                }                installNames[i] = NULL;                rc = newtWinMenu(FL_RESCUE(flags) ? _("Rescue Method") :                                 _("Installation Method"),                                 FL_RESCUE(flags) ?                                 _("What type of media contains the rescue "                                   "image?") :                                 _("What type of media contains the packages to "                                   "be installed?"),                                 30, 10, 20, 6, installNames, &methodNum,                                  _("OK"), _("Back"), NULL);            }             if (rc && rc != 1) {                step = STEP_KBD;                dir = -1;            } else {                needed = installMethods[validMethods[methodNum]].deviceType;                step = STEP_DRIVER;                dir = 1;            }            break;        case STEP_DRIVER: {            if (needed == -1 || haveDeviceOfType(needed, modLoaded)) {                step = STEP_NETWORK;                dir = 1;                needed = -1;                break;            }            rc = newtWinTernary(_("No driver found"), _("Select driver"),                                _("Use a driver disk"), _("Back"),                                _("Unable to find any devices of the type "                                  "needed for this installation type.  "                                  "Would you like to manually select your "                                  "driver or use a driver disk?"));            if (rc == 2) {                step = STEP_DRIVERDISK;                dir = 1;                break;            } else if (rc == 3) {                step = STEP_METHOD;                dir = -1;                break;            }                        chooseManualDriver(installMethods[validMethods[methodNum]].deviceType,                               modLoaded, modDepsPtr, modInfo);            /* it doesn't really matter what we return here; we just want             * to reprobe and make sure we have the driver */            step = STEP_DRIVER;            break;        }        case STEP_DRIVERDISK:            rc = loadDriverFromMedia(needed,                                     modLoaded, modDepsPtr, modInfo, 0, 0);            if (rc == LOADER_BACK) {                step = STEP_DRIVER;                dir = -1;                break;            }            /* need to come back to driver so that we can ensure that we found             * the right kind of driver after loading the driver disk */            step = STEP_DRIVER;            break;        case STEP_NETWORK:            if ( (installMethods[validMethods[methodNum]].deviceType !=                   CLASS_NETWORK) && (!hasGraphicalOverride()) &&                 !FL_ASKNETWORK(flags)) {                needsNetwork = 0;                if (dir == 1)                     step = STEP_URL;                else if (dir == -1)                    step = STEP_METHOD;                break;            }            needsNetwork = 1;            if (!haveDeviceOfType(CLASS_NETWORK, modLoaded)) {                needed = CLASS_NETWORK;                step = STEP_DRIVER;                break;            }            logMessage(INFO, "need to set up networking");            initLoopback();            memset(&netDev, 0, sizeof(netDev));            netDev.isDynamic = 1;            /* fall through to interface selection */        case STEP_IFACE:            logMessage(INFO, "going to pick interface");            rc = chooseNetworkInterface(loaderData);            if ((rc == LOADER_BACK) || (rc == LOADER_ERROR) ||                ((dir == -1) && (rc == LOADER_NOOP))) {                step = STEP_METHOD;                dir = -1;                break;            }            devName = loaderData->netDev;            strcpy(netDev.dev.device, devName);            /* continue to ip config */            step = STEP_IP;            dir = 1;            break;        case STEP_IP:            if (!needsNetwork) {                step = STEP_METHOD; /* only hit going back */                break;            }            if ((ret = malloc(48)) == NULL) {                logMessage(ERROR, "malloc failure for ret in STEP_IP");                exit(EXIT_FAILURE);            }            logMessage(INFO, "going to do getNetConfig");            /* populate netDev based on any kickstart data */            if (loaderData->ipinfo_set) {                netDev.preset = 1;            }            setupNetworkDeviceConfig(&netDev, loaderData);            rc = readNetConfig(devName, &netDev, loaderData->netCls, methodNum);            if ((loaderData->noipv4 = netDev.noipv4) == 1) {                loaderData->ipinfo_set = 0;            } else {                if (loaderData->ipv4 == NULL) {                    if (strcmp((char *) &(netDev.dev.ip), "")) {                        ret = (char *) inet_ntop(AF_INET,                                                 IP_ADDR(&(netDev.dev.ip)), ret,                                                 IP_STRLEN(&(netDev.dev.ip)));                    } else {                        ret = NULL;                        netDev.isDynamic = 1;                    }                    if (netDev.isDynamic || ret == NULL) {                        loaderData->ipv4 = strdup("dhcp");                    } else {                        loaderData->ipv4 = strdup(ret);                    }                }                loaderData->ipinfo_set = 1;            }            if ((loaderData->noipv6 = netDev.noipv6) == 1) {                loaderData->ipv6info_set = 0;            } else {                if (loaderData->ipv6 == NULL) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品麻豆日日躁夜夜躁| 一区二区三区中文字幕精品精品| 国产清纯白嫩初高生在线观看91| 99精品视频在线观看| 欧美亚洲一区三区| 日韩一区二区电影| 精品国产伦一区二区三区观看方式| 亚洲图片欧美一区| 国产精品伊人色| 欧美日韩久久久| 欧美电影精品一区二区| 欧美激情中文字幕| 一区二区三区色| 久久国产麻豆精品| 92国产精品观看| 欧美乱妇一区二区三区不卡视频 | 欧美私模裸体表演在线观看| 国产成人综合网| 色综合天天综合狠狠| 日韩欧美一二区| 中文字幕在线播放不卡一区| 日韩中文字幕一区二区三区| 久久国产麻豆精品| 成人激情校园春色| 色噜噜狠狠色综合中国| 精品国产乱码91久久久久久网站| 国产精品国产三级国产| 亚洲成人激情自拍| 大陆成人av片| 精品日韩在线一区| 亚洲成人av在线电影| 成人午夜精品一区二区三区| 国产不卡视频一区| 欧美日韩中文字幕一区| 国产日本一区二区| 麻豆精品一区二区综合av| 色94色欧美sute亚洲13| 久久久av毛片精品| 日韩成人一区二区| 92精品国产成人观看免费 | 一区二区三区高清| 国产精品乡下勾搭老头1| 欧美裸体一区二区三区| 一区二区三区在线视频播放| 国v精品久久久网| 日韩一区和二区| 亚洲福利电影网| 91麻豆国产福利在线观看| 国产亚洲欧美色| 日韩电影免费在线| 欧美视频精品在线观看| ●精品国产综合乱码久久久久| 国产一区二区三区视频在线播放| 欧美日韩免费在线视频| 最新国产成人在线观看| 成人黄色小视频| 久久男人中文字幕资源站| 蜜臀精品一区二区三区在线观看| 欧美美女网站色| 亚洲一卡二卡三卡四卡五卡| 日本乱人伦aⅴ精品| 亚洲黄色小说网站| 97久久精品人人爽人人爽蜜臀 | 色综合天天综合给合国产| 国产精品久久福利| 欧美精品一级二级三级| 亚洲综合小说图片| 在线观看不卡视频| 亚洲精选视频免费看| 成人国产电影网| 国产精品久久久久久久久免费桃花| 国产成人免费av在线| 国产欧美日韩麻豆91| 成人污污视频在线观看| 国产精品黄色在线观看| 99视频精品全部免费在线| 自拍偷拍国产亚洲| 色婷婷久久99综合精品jk白丝| 亚洲欧美偷拍另类a∨色屁股| 99vv1com这只有精品| 伊人夜夜躁av伊人久久| 欧美自拍偷拍午夜视频| 亚洲国产精品视频| 56国语精品自产拍在线观看| 蜜臀91精品一区二区三区| 欧美成人精品福利| 亚洲国产视频在线| 欧美日本精品一区二区三区| 丝袜亚洲另类欧美综合| 日韩欧美一二三| 国产成人av一区二区三区在线 | 一本到高清视频免费精品| 亚洲精品福利视频网站| 7777精品伊人久久久大香线蕉超级流畅 | 日本va欧美va欧美va精品| 欧美福利电影网| 另类调教123区| 国产欧美日韩久久| 91麻豆成人久久精品二区三区| 亚洲一线二线三线视频| 欧美一区二区三区在线视频| 日韩欧美电影一二三| 国产永久精品大片wwwapp | 日本精品一区二区三区四区的功能| 一区二区三区久久久| 538prom精品视频线放| 国产高清在线精品| 一区二区三区国产精华| 91精品欧美久久久久久动漫 | 国产精品热久久久久夜色精品三区 | 欧美精品一二三区| 国产一区欧美二区| 亚洲女性喷水在线观看一区| 欧美日韩精品欧美日韩精品| 久久精品国产99久久6| 亚洲欧洲成人精品av97| 69av一区二区三区| 国产一区二区三区在线观看免费 | 欧美在线观看一区| 国产乱人伦偷精品视频不卡| 国产精品国产三级国产aⅴ原创| 在线观看不卡一区| 国产精品一二三在| 亚洲一卡二卡三卡四卡无卡久久| 日韩你懂的电影在线观看| 成人av集中营| 麻豆成人综合网| 亚洲美女视频在线| 精品久久久网站| 91成人网在线| 国产成人精品亚洲777人妖| 香蕉av福利精品导航| 中文字幕一区二区三区av| 日韩一区二区三区在线观看 | 午夜av一区二区| 国模娜娜一区二区三区| 一区二区视频在线| 国产午夜精品久久久久久久| 欧美日韩高清影院| caoporn国产一区二区| 精品一区中文字幕| 亚洲123区在线观看| 中文字幕精品一区二区精品绿巨人| 91精品国产91久久综合桃花| 99re视频精品| 国内精品自线一区二区三区视频| 亚洲亚洲精品在线观看| 国产精品国产三级国产| 久久蜜桃av一区二区天堂| 欧美精品久久久久久久久老牛影院| 99视频在线观看一区三区| 狠狠色狠狠色综合日日91app| 午夜精品爽啪视频| 一区二区三区电影在线播| 中文字幕 久热精品 视频在线| 欧美videos大乳护士334| 欧美性高清videossexo| 91浏览器入口在线观看| 成人在线一区二区三区| 国产麻豆成人精品| 免费在线观看日韩欧美| 舔着乳尖日韩一区| 亚洲国产毛片aaaaa无费看 | 欧美美女一区二区| 欧美无人高清视频在线观看| 91丨九色丨蝌蚪富婆spa| 国产白丝网站精品污在线入口| 九九国产精品视频| 日本亚洲一区二区| 亚洲高清视频中文字幕| 亚洲一区在线电影| 亚洲精品高清视频在线观看| 亚洲女人的天堂| 中文字幕一区二区三区乱码在线| 国产午夜亚洲精品理论片色戒| 日韩欧美国产成人一区二区| 欧美一区二区三区免费观看视频| 欧洲生活片亚洲生活在线观看| 91视频.com| 91久久香蕉国产日韩欧美9色| 99r国产精品| 色综合久久九月婷婷色综合| 本田岬高潮一区二区三区| 久久影院视频免费| 欧美电影一区二区三区| 制服丝袜中文字幕一区| 7777精品伊人久久久大香线蕉超级流畅 | 精品久久一二三区| 欧美mv和日韩mv的网站| 日韩一本二本av| 亚洲精品一区二区精华| 久久久国产午夜精品| 国产情人综合久久777777| 国产欧美精品一区| 中文字幕一区二区三| 亚洲视频一区在线| 一区二区视频在线看| 五月婷婷综合激情| 日韩电影一区二区三区四区| 精品亚洲aⅴ乱码一区二区三区|