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

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

?? loader.c~

?? linux 安裝程序
?? C~
?? 第 1 頁 / 共 5 頁
字號(hào):
                    if (strcmp((char *) &(netDev.dev.ip), "")) {                        ret = (char *) inet_ntop(AF_INET6,                                                 IP_ADDR(&(netDev.dev.ip)), ret,                                                 IP_STRLEN(&(netDev.dev.ip)));                    } else {                        ret = NULL;                        netDev.isDynamic = 1;                    }                    if (netDev.isDynamic || ret == NULL) {                        loaderData->ipv6 = strdup("dhcpv6");                    } else {                        loaderData->ipv6 = strdup(ret);                    }                }                loaderData->ipv6info_set = 1;            }            free(ret);            ret = NULL;            if ((rc == LOADER_BACK) || (rc == LOADER_ERROR) ||                ((dir == -1) && (rc == LOADER_NOOP))) {                step = STEP_IFACE;                dir = -1;                break;            }            writeNetInfo("/tmp/netinfo", &netDev);            step = STEP_URL;            dir = 1;            break;        case STEP_URL:            logMessage(INFO, "starting to STEP_URL");            /* if we found a CD already short circuit out */            /* we get this case when we're doing a VNC install from CD */            /* and we didnt short circuit earlier because we had to */            /* prompt for network info for vnc to work */            if (url && rhcdfnd)                return url;            url = installMethods[validMethods[methodNum]].mountImage(                                      installMethods + validMethods[methodNum],                                      location, loaderData, modInfo, modLoaded,                                       modDepsPtr);            if (!url) {                step = STEP_IP ;                dir = -1;            } else {                logMessage(INFO, "got url %s", url);                step = STEP_DONE;                dir = 1;            }            break;        default:            break;        }    }    return url;}static int manualDeviceCheck(moduleInfoSet modInfo, moduleList modLoaded,                             moduleDeps * modDepsPtr) {    char ** devices;    int i, j, rc, num = 0;    struct moduleInfo * mi;    unsigned int width = 40;    char * buf;    do {        devices = malloc((modLoaded->numModules + 1) * sizeof(*devices));        for (i = 0, j = 0; i < modLoaded->numModules; i++) {            if (!modLoaded->mods[i].weLoaded) continue;                        if (!(mi = findModuleInfo(modInfo, modLoaded->mods[i].name)) ||                (!mi->description))                continue;            devices[j] = sdupprintf("%s (%s)", mi->description,                                     modLoaded->mods[i].name);            if (strlen(devices[j]) > width)                width = strlen(devices[j]);            j++;        }        devices[j] = NULL;        if (width > 70)            width = 70;        if (j > 0) {            buf = _("The following devices have been found on your system.");        } else {            buf = _("No device drivers have been loaded for your system.  "                    "Would you like to load any now?");        }        rc = newtWinMenu(_("Devices"), buf, width, 10, 20,                          (j > 6) ? 6 : j, devices, &num, _("Done"),                          _("Add Device"), NULL);        /* no leaky */        for (i = 0; i < j; i++)             free(devices[j]);        free(devices);        if (rc != 2)            break;        chooseManualDriver(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo);    } while (1);    return 0;}/* JKFIXME: I don't really like this, but at least it isolates the ifdefs *//* Either move dirname to %s_old or unlink depending on arch (unlink on all * !s390{,x} arches).  symlink to /mnt/runtime/dirname.  dirname *MUST* start * with a '/' */static void migrate_runtime_directory(char * dirname) {    char * runtimedir;    int ret;    runtimedir = sdupprintf("/mnt/runtime%s", dirname);    if (!access(runtimedir, X_OK)) {#if !defined(__s390__) && !defined(__s390x__)        unlink(dirname);#else        char * olddir;        olddir = sdupprintf("%s_old", dirname);        rename(dirname, olddir);        free(olddir);#endif        ret = symlink(runtimedir, dirname);    }    free(runtimedir);}static int hasGraphicalOverride() {    int i;    if (getenv("DISPLAY"))        return 1;    for (i = 0; extraArgs[i] != NULL; i++) {        if (!strncasecmp(extraArgs[i], "--vnc", 5))            return 1;    }    return 0;}static void loaderSegvHandler(int signum) {    void *array[10];    size_t size;    char **strings;    size_t i, j;    const char const * const errmsg = "loader received SIGSEGV!  Backtrace:\n";    signal(signum, SIG_DFL); /* back to default */    newtFinished();    size = backtrace (array, 10);    strings = backtrace_symbols (array, size);    j = write(STDERR_FILENO, errmsg, strlen(errmsg));    for (i = 0; i < size; i++) {        j = write(STDERR_FILENO, strings[i], strlen(strings[i]));        j = write(STDERR_FILENO, "\n", 1);    }     free (strings);    exit(1);}static int anaconda_trace_init(void) {#if 0    int fd;#endif#ifdef USE_MTRACE    setenv("MALLOC_TRACE","/malloc",1);    mtrace();#endif    /* We have to do this before we init bogl(), which doLoaderMain will do     * when setting fonts for different languages.  It's also best if this     * is well before we might take a SEGV, so they'll go to tty8 */    initializeTtys();#if 0    fd = open("/dev/tty8", O_RDWR);    close(STDERR_FILENO);    dup2(fd, STDERR_FILENO);    close(fd);#endif    /* set up signal handler */    signal(SIGSEGV, loaderSegvHandler);    signal(SIGABRT, loaderSegvHandler);    return 0;}#ifdef NASH_FIRMWARE_LOADERint nashHotplugLogger(nashContext *nc, const nash_log_level level,        const char *fmt, va_list ap) {    int loglevel;    va_list apc;        switch (level) {        case NASH_DEBUG:            loglevel = DEBUGLVL;            break;        case NASH_WARNING:            loglevel = WARNING;            break;        case NASH_ERROR:            loglevel = ERROR;            break;        default:        case NASH_NOTICE:            loglevel = INFO;            break;    }    va_copy(ap, apc);    logMessageV(loglevel, fmt, apc);    va_end(apc);    return 0;}#endifint main(int argc, char ** argv) {    /* Very first thing, set up tracebacks and debug features. */    int rc;    struct stat sb;    struct serial_struct si;    int i;    char * arg;    FILE *f;    char twelve = 12;    moduleInfoSet modInfo;    moduleList modLoaded;    moduleDeps modDeps;    char *url = NULL;    char ** argptr, ** tmparg;    char * anacondaArgs[50];    int useRHupdates = 0;    struct loaderData_s loaderData;    char * cmdLine = NULL;    char * ksFile = NULL;    int testing = 0;    int mediacheck = 0;    char * virtpcon = NULL;    poptContext optCon;    struct poptOption optionTable[] = {        { "cmdline", '\0', POPT_ARG_STRING, &cmdLine, 0, NULL, NULL },        { "ksfile", '\0', POPT_ARG_STRING, &ksFile, 0, NULL, NULL },        { "test", '\0', POPT_ARG_NONE, &testing, 0, NULL, NULL },        { "mediacheck", '\0', POPT_ARG_NONE, &mediacheck, 0, NULL, NULL},        { "virtpconsole", '\0', POPT_ARG_STRING, &virtpcon, 0, NULL, NULL },        { 0, 0, 0, 0, 0, 0, 0 }    };#ifdef NASH_FIRMWARE_LOADER    nashContext *nc = nashNewContext();#endif    /* Make sure sort order is right. */    setenv ("LC_COLLATE", "C", 1);	    if (!strcmp(argv[0] + strlen(argv[0]) - 6, "insmod"))        return ourInsmodCommand(argc, argv);    if (!strcmp(argv[0] + strlen(argv[0]) - 8, "modprobe"))        return ourInsmodCommand(argc, argv);    if (!strcmp(argv[0] + strlen(argv[0]) - 5, "rmmod"))        return ourRmmodCommand(argc, argv);    rc = anaconda_trace_init();#ifdef NASH_FIRMWARE_LOADER    nashSetFirmwarePath(nc, "/firmware/:/lib/firmware/:/tmp/updates/firmware/:/tmp/product/firmware");    nashSetLogger(nc, nashHotplugLogger);#endif    /* now we parse command line options */    optCon = poptGetContext(NULL, argc, (const char **) argv, optionTable, 0);    if ((rc = poptGetNextOpt(optCon)) < -1) {        fprintf(stderr, "bad option %s: %s\n",                poptBadOption(optCon, POPT_BADOPTION_NOALIAS),                 poptStrerror(rc));        exit(1);    }    if ((arg = (char *) poptGetArg(optCon))) {        fprintf(stderr, "unexpected argument: %s\n", arg);        exit(1);    }    if (!testing && !access("/var/run/loader.run", R_OK)) {        printf(_("loader has already been run.  Starting shell.\n"));        execl("/bin/sh", "-/bin/sh", NULL);        exit(0);    }        f = fopen("/var/run/loader.run", "w+");    fprintf(f, "%d\n", getpid());    fclose(f);#ifdef NASH_FIRMWARE_LOADER    nashHotplugInit(nc);#endif    /* The fstat checks disallows serial console if we're running through       a pty. This is handy for Japanese. */    fstat(0, &sb);    if (major(sb.st_rdev) != 3 && major(sb.st_rdev) != 136 &&         (virtpcon == NULL)){        if ((ioctl (0, TIOCLINUX, &twelve) < 0) &&             (ioctl(0, TIOCGSERIAL, &si) != -1))            flags |= LOADER_FLAGS_SERIAL;    }    if (testing) flags |= LOADER_FLAGS_TESTING;    if (mediacheck) flags |= LOADER_FLAGS_MEDIACHECK;    if (ksFile) flags |= LOADER_FLAGS_KICKSTART;    if (virtpcon) flags |= LOADER_FLAGS_VIRTPCONSOLE;    /* uncomment to send mac address in ks=http:/ header by default*/    flags |= LOADER_FLAGS_KICKSTART_SEND_MAC;    /* JKFIXME: I do NOT like this... it also looks kind of bogus */#if defined(__s390__) && !defined(__s390x__)    flags |= LOADER_FLAGS_NOSHELL | LOADER_FLAGS_NOUSB;#endif    openLog(FL_TESTING(flags));    if (!FL_TESTING(flags))        openlog("loader", 0, LOG_LOCAL0);    memset(&loaderData, 0, sizeof(loaderData));    loaderData.method = -1;    extraArgs[0] = NULL;    parseCmdLineFlags(&loaderData, cmdLine);    if ((FL_SERIAL(flags) || FL_VIRTPCONSOLE(flags)) &&         !hasGraphicalOverride()) {        logMessage(INFO, "text mode forced due to serial/virtpconsole");        flags |= LOADER_FLAGS_TEXT;    }    if (FL_SERIAL(flags))        flags |= LOADER_FLAGS_NOFB;    setupRamfs();    arg = FL_TESTING(flags) ? "./module-info" : "/modules/module-info";    modInfo = newModuleInfoSet();    if (readModuleInfo(arg, modInfo, NULL, 0)) {        fprintf(stderr, "failed to read %s\n", arg);        sleep(5);#ifdef NASH_FIRMWARE_LOADER        nashHotplugKill(nc);#endif        exit(1);    }    mlReadLoadedList(&modLoaded);    modDeps = mlNewDeps();    mlLoadDeps(&modDeps, "/modules/modules.dep");    initializeConsole(modLoaded, modDeps, modInfo);    checkForRam();    /* iSeries vio console users will be telnetting in to the primary       partition, so use a terminal type that is appripriate */    if (isVioConsole())        setenv("TERM", "vt100", 1);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91影院在线免费观看| 亚洲综合视频在线观看| 国产网红主播福利一区二区| 久久一区二区三区四区| 国产目拍亚洲精品99久久精品| 日韩一级片在线观看| 精品久久久久久久一区二区蜜臀| 国产欧美一区二区精品仙草咪| 亚洲视频网在线直播| 亚洲自拍欧美精品| 久久精品国产久精国产爱| 国产成人99久久亚洲综合精品| 成人精品一区二区三区四区| 色婷婷av一区二区三区软件| 日韩欧美亚洲国产另类| 欧美特级限制片免费在线观看| 国产传媒日韩欧美成人| 91激情五月电影| 欧美一区二区三区日韩视频| 国产免费成人在线视频| 视频一区中文字幕国产| 国产乱码一区二区三区| 色妹子一区二区| 久久人人97超碰com| 一区二区三区小说| 精品一区中文字幕| 欧美日韩精品一区二区在线播放| 精品国精品国产| 亚洲视频免费在线观看| 久久99国产精品久久99| 99精品在线免费| 日韩欧美中文字幕制服| 亚洲丝袜制服诱惑| 久久电影网电视剧免费观看| www.日韩大片| 精品美女被调教视频大全网站| 国产精品久久久久久久裸模| 免费在线一区观看| 色哟哟欧美精品| 久久精品亚洲精品国产欧美kt∨| 亚洲激情欧美激情| 蜜臀精品一区二区三区在线观看| 不卡区在线中文字幕| 欧美一级片在线观看| 日韩美女久久久| 国产一区二区三区av电影| 欧美日韩国产123区| 久久综合狠狠综合久久激情| 一区二区三区免费看视频| 国产成人免费网站| 日韩亚洲欧美成人一区| 一区二区视频免费在线观看| 国产成人亚洲精品狼色在线| 欧美亚洲尤物久久| 国产精品久久久久天堂| 国产中文一区二区三区| 777午夜精品视频在线播放| 亚洲人成在线播放网站岛国| 国产精品99久久久久久久女警| 欧美日韩国产高清一区二区三区| 国产欧美一区二区精品性色超碰 | 亚洲一区二区在线播放相泽| 国产精品自拍毛片| 欧美这里有精品| 国产日韩欧美精品综合| 国产精品麻豆欧美日韩ww| 蜜臀av亚洲一区中文字幕| 一本到高清视频免费精品| 国产精品卡一卡二| jiyouzz国产精品久久| 国产免费久久精品| 国产精品一区专区| 久久久国产精品麻豆| 国产专区欧美精品| 2020国产精品久久精品美国| 亚洲一区二区三区不卡国产欧美| 在线观看91视频| 亚洲永久免费视频| 欧美日韩高清一区二区| 亚洲6080在线| 777a∨成人精品桃花网| 日日摸夜夜添夜夜添精品视频 | 欧美性极品少妇| 亚洲综合男人的天堂| 一本色道久久综合精品竹菊| 久久久久久久一区| 国产麻豆精品视频| 国产精品色哟哟| 不卡一二三区首页| 亚洲色欲色欲www| 在线观看91精品国产入口| 亚洲一区二区四区蜜桃| 欧美亚洲免费在线一区| 亚洲成人动漫精品| 欧美日韩午夜在线| 丝袜亚洲精品中文字幕一区| 欧美日韩久久不卡| 美女视频黄 久久| 日韩一二三区不卡| 国产精品一区二区黑丝| 国产亚洲精品福利| 菠萝蜜视频在线观看一区| 成人免费在线播放视频| 色94色欧美sute亚洲13| 亚洲电影激情视频网站| 欧美精品九九99久久| 洋洋成人永久网站入口| 91精品免费观看| 亚洲裸体在线观看| 国产尤物一区二区在线| 欧美国产1区2区| 99久久99久久精品免费看蜜桃| 亚洲国产精品成人久久综合一区| 极品美女销魂一区二区三区| 亚洲精品一区二区三区香蕉| 国产成人aaa| 一片黄亚洲嫩模| 欧美一级久久久久久久大片| 国产激情视频一区二区三区欧美 | 亚洲乱码中文字幕| 亚洲色图一区二区| 成人午夜碰碰视频| 天天综合日日夜夜精品| 国产日韩欧美综合在线| 欧美日韩在线不卡| 国产精品69毛片高清亚洲| 亚洲一区二区三区在线| 欧美精品一区男女天堂| 欧美亚洲一区三区| 懂色中文一区二区在线播放| 亚洲bt欧美bt精品| 综合欧美一区二区三区| 亚洲精品在线观看视频| 欧美日韩免费观看一区三区| 欧美成人一区二区| 欧美视频一区二区三区| 欧美高清激情brazzers| 精品免费国产二区三区| 椎名由奈av一区二区三区| 亚洲综合视频在线观看| 久久国产尿小便嘘嘘尿| 色综合久久天天综合网| 91精品免费在线观看| 国产欧美中文在线| 日韩国产欧美在线观看| 久久精品国产成人一区二区三区 | 亚洲日本免费电影| 日韩三级精品电影久久久| 色婷婷av一区二区| 成人高清av在线| 国模少妇一区二区三区| 在线播放视频一区| 99久久精品国产一区| 国产精品综合二区| 蜜桃视频第一区免费观看| 亚洲国产wwwccc36天堂| 综合自拍亚洲综合图不卡区| 国产欧美视频在线观看| 欧美成人猛片aaaaaaa| 欧美精品色一区二区三区| 欧洲精品中文字幕| 91丨porny丨在线| 成人成人成人在线视频| 国产成人一区二区精品非洲| 精品在线观看免费| 精品一区精品二区高清| 麻豆成人久久精品二区三区红| 亚洲国产成人91porn| 亚洲国产日韩av| 亚洲综合色视频| 亚洲一区中文在线| 亚洲国产成人精品视频| 亚洲国产综合色| 午夜久久久久久| 日韩av二区在线播放| 日本免费在线视频不卡一不卡二 | 欧美一级精品在线| 日韩一区二区精品在线观看| 在线播放国产精品二区一二区四区| 欧美日韩免费电影| 欧美日本乱大交xxxxx| 欧美精品视频www在线观看| 欧美精品一卡二卡| 日韩一区二区免费在线观看| 日韩欧美色综合网站| 亚洲精品一区二区三区香蕉| 久久嫩草精品久久久精品一| 久久久青草青青国产亚洲免观| 国产午夜精品一区二区| 中文字幕va一区二区三区| 国产精品久久久久久久裸模| 亚洲欧洲色图综合| 亚洲一区二区欧美日韩| 日韩电影一二三区| 久久99国产精品尤物| 国产成人aaa| 91丨九色porny丨蝌蚪| 欧美色欧美亚洲另类二区| 欧美日韩午夜在线| 国产色一区二区|