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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pygrub

?? xen 3.2.2 源碼
??
?? 第 1 頁 / 共 2 頁
字號:
                    y += 1                    lines.append(ret)                    continue                # if we got boot, then we want to boot the entered image                 img = grub.GrubConf.GrubImage(lines)                self.cf.add_image(img)                self.selected_image = len(self.cf.images) - 1                self.isdone = True                break            # else, we cancelled and should just go back            break    def read_config(self, fn, fs = None):        """Read the given file to parse the config.  If fs = None, then        we're being given a raw config file rather than a disk image."""                if not os.access(fn, os.R_OK):            raise RuntimeError, "Unable to access %s" %(fn,)        if platform.machine() == 'ia64':            self.cf = grub.LiloConf.LiloConfigFile()            # common distributions            file_list = ("/efi/debian/elilo.conf", "/efi/gentoo/elilo.conf",                          "/efi/redflag/elilo.conf", "/efi/redhat/elilo.conf",                          "/efi/SuSE/elilo.conf",)            # fallbacks            file_list += ("/efi/boot/elilo.conf", "/elilo.conf",)        else:            self.cf = grub.GrubConf.GrubConfigFile()            file_list = ("/boot/grub/menu.lst", "/boot/grub/grub.conf",                         "/grub/menu.lst", "/grub/grub.conf")        if not fs:            # set the config file and parse it            self.cf.filename = fn            self.cf.parse()            return        for f in file_list:            if fs.file_exists(f):                self.cf.filename = f                break        if self.cf.filename is None:            raise RuntimeError, "couldn't find bootloader config file in the image provided."        f = fs.open_file(self.cf.filename)        buf = f.read()        del f        self.cf.parse(buf)    def run(self):        timeout = int(self.cf.timeout)        self.selected_image = self.cf.default        self.isdone = False        while not self.isdone:            self.run_main(timeout)            timeout = -1                    return self.selected_image    def run_main(self, timeout = -1):        def draw():            # set up the screen            self.draw_main_windows()            self.text_win.addstr(0, 0, "Use the U and D keys to select which entry is highlighted.")            self.text_win.addstr(1, 0, "Press enter to boot the selected OS. 'e' to edit the")            self.text_win.addstr(2, 0, "commands before booting, 'a' to modify the kernel arguments ")            self.text_win.addstr(3, 0, "before booting, or 'c' for a command line.")            self.text_win.addch(0, 8, curses.ACS_UARROW)            self.text_win.addch(0, 14, curses.ACS_DARROW)            (y, x) = self.text_win.getmaxyx()            self.text_win.move(y - 1, x - 1)            self.text_win.refresh()        # now loop until we hit the timeout or get a go from the user        mytime = 0        self.start_image = 0        while (timeout == -1 or mytime < int(timeout)):            draw()            if timeout != -1 and mytime != -1:                 self.screen.addstr(20, 5, "Will boot selected entry in %2d seconds"                                   %(int(timeout) - mytime))            else:                self.screen.addstr(20, 5, " " * 80)            self.fill_entry_list()            c = self.screen.getch()            if c == -1:                # Timed out waiting for a keypress                if mytime != -1:                    mytime += 1                    if mytime >= int(timeout):                        self.isdone = True                        break            else:                # received a keypress: stop the timer                mytime = -1                self.screen.timeout(-1)            # handle keypresses            if c == ord('c'):                self.command_line_mode()                break            elif c == ord('a'):                # find the kernel line, edit it and then boot                img = self.cf.images[self.selected_image]                for line in img.lines:                    if line.startswith("kernel"):                        l = self.edit_line(line)                        if l is not None:                            img.set_from_line(l, replace = True)                            self.isdone = True                            break                break            elif c == ord('e'):                img = self.cf.images[self.selected_image]                self.edit_entry(img)                break            elif c in (curses.KEY_ENTER, ord('\n'), ord('\r')):                self.isdone = True                break            elif c == curses.KEY_UP:                self.selected_image -= 1            elif c == curses.KEY_DOWN:                self.selected_image += 1#            elif c in (ord('q'), 27): # 27 == esc#                self.selected_image = -1#                self.isdone = True#                break            # bound at the top and bottom            if self.selected_image < 0:                self.selected_image = 0            elif self.selected_image >= len(self.cf.images):                self.selected_image = len(self.cf.images) - 1        def get_entry_idx(cf, entry):    # first, see if the given entry is numeric    try:        idx = string.atoi(entry)        return idx    except ValueError:        pass    # it's not, now check the labels for a match    for i in range(len(cf.images)):        if entry == cf.images[i].title:            return i    return Nonedef run_grub(file, entry, fs):    global g    global sel    def run_main(scr, *args):        global sel        global g        sel = g.run()    g = Grub(file, fs)    if interactive:        curses.wrapper(run_main)    else:        sel = g.cf.default    # set the entry to boot as requested    if entry is not None:        idx = get_entry_idx(g.cf, entry)        if idx is not None and idx > 0 and idx < len(g.cf.images):           sel = idx    if sel == -1:        print "No kernel image selected!"        sys.exit(1)    img = g.cf.images[sel]    grubcfg = { "kernel": None, "ramdisk": None, "args": None }    grubcfg["kernel"] = img.kernel[1]    if img.initrd:        grubcfg["ramdisk"] = img.initrd[1]    if img.args:        grubcfg["args"] = img.args    return grubcfg# If nothing has been specified, look for a Solaris domU. If found, perform the# necessary tweaks.def sniff_solaris(fs, cfg):    if not fs.file_exists("/platform/i86xpv/kernel/unix"):        return cfg        # darned python    longmode = (sys.maxint != 2147483647L)    if not longmode:        longmode = os.uname()[4] == "x86_64"    if not longmode:        if (os.access("/usr/bin/isainfo", os.R_OK) and            os.popen("/usr/bin/isainfo -b").read() == "64\n"):            longmode = True    if not cfg["kernel"]:        cfg["kernel"] = "/platform/i86xpv/kernel/unix"        cfg["ramdisk"] = "/platform/i86pc/boot_archive"        if longmode:            cfg["kernel"] = "/platform/i86xpv/kernel/amd64/unix"            cfg["ramdisk"] = "/platform/i86pc/amd64/boot_archive"    # Unpleasant. Typically we'll have 'root=foo -k' or 'root=foo /kernel -k',    # and we need to maintain Xen properties (root= and ip=) and the kernel    # before any user args.        xenargs = ""    userargs = ""        if not cfg["args"]:        cfg["args"] = cfg["kernel"]    else:        for arg in cfg["args"].split():            if re.match("^root=", arg) or re.match("^ip=", arg):                xenargs += arg + " "            elif arg != cfg["kernel"]:                userargs += arg + " "        cfg["args"] = xenargs + " " + cfg["kernel"] + " " + userargs    return cfg if __name__ == "__main__":    sel = None        def usage():        print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <image>" %(sys.argv[0],)    try:        opts, args = getopt.gnu_getopt(sys.argv[1:], 'qih::',                                   ["quiet", "interactive", "help", "output=",                                    "entry=", "kernel=", "ramdisk=", "args=",                                    "isconfig"])    except getopt.GetoptError:        usage()        sys.exit(1)    if len(args) < 1:        usage()        sys.exit(1)    file = args[0]            output = None    entry = None    interactive = True    isconfig = False    # what was passed in    incfg = { "kernel": None, "ramdisk": None, "args": None }    # what grub or sniffing chose    chosencfg = { "kernel": None, "ramdisk": None, "args": None }    # what to boot    bootcfg = { "kernel": None, "ramdisk": None, "args": None }    for o, a in opts:        if o in ("-q", "--quiet"):            interactive = False        elif o in ("-i", "--interactive"):            interactive = True        elif o in ("-h", "--help"):            usage()            sys.exit()        elif o in ("--output",):            output = a        elif o in ("--kernel",):            incfg["kernel"] = a        elif o in ("--ramdisk",):            incfg["ramdisk"] = a        elif o in ("--args",):            incfg["args"] = a        elif o in ("--entry",):            entry = a            # specifying the entry to boot implies non-interactive            interactive = False        elif o in ("--isconfig",):            isconfig = True    if output is None or output == "-":        fd = sys.stdout.fileno()    else:        fd = os.open(output, os.O_WRONLY)    # debug    if isconfig:        chosencfg = run_grub(file, entry)        print "  kernel: %s" % chosencfg["kernel"]        if img.initrd:            print "  initrd: %s" % chosencfg["ramdisk"]        print "  args: %s" % chosencfg["args"]        sys.exit(0)    # if boot filesystem is set then pass to fsimage.open    bootfsargs = '"%s"' % incfg["args"]    bootfsgroup = re.findall('zfs-bootfs=(.*?)[\s\,\"]', bootfsargs)    if bootfsgroup:        fs = fsimage.open(file, get_fs_offset(file), bootfsgroup[0])    else:        fs = fsimage.open(file, get_fs_offset(file))    chosencfg = sniff_solaris(fs, incfg)    if not chosencfg["kernel"]:        chosencfg = run_grub(file, entry, fs)    data = fs.open_file(chosencfg["kernel"]).read()    (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",        dir="/var/run/xend/boot")    os.write(tfd, data)    os.close(tfd)    if chosencfg["ramdisk"]:        data = fs.open_file(chosencfg["ramdisk"],).read()        (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(prefix="boot_ramdisk.",            dir="/var/run/xend/boot")        os.write(tfd, data)        os.close(tfd)    else:        initrd = None    sxp = "linux (kernel %s)" % bootcfg["kernel"]    if bootcfg["ramdisk"]:        sxp += "(ramdisk %s)" % bootcfg["ramdisk"]    if chosencfg["args"]:        zfsinfo = fsimage.getbootstring(fs)        if zfsinfo is None:            sxp += "(args \"%s\")" % chosencfg["args"]        else:            e = re.compile("zfs-bootfs=[\w\-\.\:@/]+" )            (chosencfg["args"],count) = e.subn(zfsinfo, chosencfg["args"])            if count == 0:               chosencfg["args"] += " -B %s" % zfsinfo            sxp += "(args \"%s\")" % (chosencfg["args"])    sys.stdout.flush()    os.write(fd, sxp)    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本免费一区二区三区| 国产精品久久久久久久久晋中| 国产亚洲欧洲一区高清在线观看| 一区二区三区在线不卡| 国产毛片精品一区| 91精品国产综合久久精品| 中文字幕第一页久久| 日本午夜一本久久久综合| 91色视频在线| 日韩欧美电影一二三| 亚洲理论在线观看| 成人精品一区二区三区中文字幕| 精品乱码亚洲一区二区不卡| 亚洲午夜久久久久中文字幕久| 成人国产精品视频| 国产丝袜美腿一区二区三区| 日韩高清在线不卡| 欧美丝袜丝交足nylons| 亚洲欧洲日韩女同| 99久久免费国产| 日本一二三不卡| 国产91富婆露脸刺激对白| 久久久午夜精品理论片中文字幕| 蜜桃在线一区二区三区| 91麻豆精品国产91久久久久久久久 | 中文字幕成人av| 韩国一区二区在线观看| 欧美xxxx在线观看| 精品一区二区三区欧美| 日韩精品中文字幕在线不卡尤物| 日韩国产高清在线| 日韩三级免费观看| 精品一区二区三区香蕉蜜桃| 日韩美女一区二区三区| 国产在线视频精品一区| 国产亲近乱来精品视频| 粉嫩一区二区三区在线看| 国产视频在线观看一区二区三区 | 国产欧美一区二区精品仙草咪 | 性做久久久久久免费观看| 欧美高清你懂得| 日本vs亚洲vs韩国一区三区| 日韩精品一区二区三区中文不卡 | 国内精品伊人久久久久av影院| 久久久精品影视| 99re热这里只有精品视频| 亚洲欧美另类久久久精品2019| 欧洲精品视频在线观看| 日韩电影免费一区| 久久久美女毛片| av日韩在线网站| 亚洲国产aⅴ成人精品无吗| 欧美成人艳星乳罩| 国产乱淫av一区二区三区| 国产精品水嫩水嫩| 欧美性淫爽ww久久久久无| 久久er99精品| ...中文天堂在线一区| 欧美视频在线不卡| 国模娜娜一区二区三区| 日韩伦理电影网| 91精品综合久久久久久| 国产成人欧美日韩在线电影| 亚洲天堂久久久久久久| 欧美一区二区三区四区五区 | 国产精品狼人久久影院观看方式| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 成人综合在线视频| 亚洲影院久久精品| 久久网站最新地址| 色女孩综合影院| 国产在线精品免费| 亚洲一区二区高清| 国产精品无圣光一区二区| 欧美午夜电影在线播放| 国产精品一区二区免费不卡| 午夜精品一区二区三区三上悠亚| 国产丝袜欧美中文另类| 欧美一级二级在线观看| 91亚洲精品久久久蜜桃| 国内精品免费**视频| 亚洲成av人片在线观看无码| 欧美国产丝袜视频| 日韩一区二区在线免费观看| 91亚洲午夜精品久久久久久| 国产一区91精品张津瑜| 五月天亚洲精品| 亚洲免费观看高清完整版在线| 久久久久久综合| 欧美成人一区二区三区片免费| 欧美视频在线一区| 日本高清视频一区二区| 成人性生交大合| 国模套图日韩精品一区二区 | 欧美不卡视频一区| 欧美日本不卡视频| 91久久精品一区二区三| av电影在线不卡| 国产黑丝在线一区二区三区| 韩国中文字幕2020精品| 麻豆成人91精品二区三区| 午夜影院在线观看欧美| 亚洲精品高清视频在线观看| 成人欧美一区二区三区在线播放| 精品福利av导航| 欧美不卡一区二区三区四区| 日韩一区和二区| 日韩一区二区麻豆国产| 91精品午夜视频| 欧美一区二区在线视频| 欧美一区二区三区四区高清| 欧美日韩国产在线观看| 欧美色手机在线观看| 欧美影院一区二区三区| 一本久道久久综合中文字幕 | 91极品美女在线| 在线中文字幕不卡| 在线视频一区二区免费| 91免费视频网| 欧美日韩在线免费视频| 欧美精品久久久久久久多人混战 | 国产成人综合自拍| 国产suv精品一区二区883| 国产成人啪免费观看软件| 成人激情免费视频| 色老综合老女人久久久| 欧美日韩不卡在线| 欧美成人激情免费网| 国产欧美一区二区三区鸳鸯浴| 国产精品网站在线| 亚洲欧美日本韩国| 天天色 色综合| 久久超碰97人人做人人爱| 国产精品乡下勾搭老头1| gogogo免费视频观看亚洲一| 色婷婷久久综合| 欧美久久一二三四区| 日韩欧美视频在线| 日本一区二区免费在线观看视频| 中文字幕字幕中文在线中不卡视频| 一区二区三区资源| 乱中年女人伦av一区二区| 国产成人亚洲综合a∨婷婷| 一本色道久久综合狠狠躁的推荐| 欧美日本不卡视频| 日本一区二区三区在线不卡| 亚洲人成在线观看一区二区| 天天色天天操综合| 成av人片一区二区| 欧美日韩国产精品自在自线| 久久嫩草精品久久久久| 一区二区三区在线免费| 九一久久久久久| 欧美制服丝袜第一页| 久久久精品国产99久久精品芒果 | 精品国免费一区二区三区| 国产精品久久久久影院| 日韩精品欧美精品| 成人av在线网站| 日韩一区二区中文字幕| 一区二区不卡在线视频 午夜欧美不卡在| 麻豆91精品视频| 色就色 综合激情| 欧美韩日一区二区三区四区| 日本欧美韩国一区三区| 91丝袜美女网| 久久久精品人体av艺术| 日韩国产一区二| 在线视频亚洲一区| 国产精品网曝门| 黄色日韩三级电影| 欧美日韩国产欧美日美国产精品| 国产精品久久看| 精品一区二区三区不卡| 欧美天堂一区二区三区| 国产精品美女www爽爽爽| 久久精品999| 欧美男生操女生| 亚洲一区二区在线播放相泽| 99热精品国产| 日本一区二区成人在线| 国产精品自产自拍| 日韩一区二区三区免费观看| 亚洲成a人片在线观看中文| 色94色欧美sute亚洲线路一ni| 久久久亚洲精华液精华液精华液 | 蜜臀av一区二区| 欧美电影一区二区| 亚洲国产一区二区视频| 色噜噜偷拍精品综合在线| 亚洲欧美另类久久久精品2019| 成人av在线一区二区| 国产精品视频线看| 成人一道本在线| 欧美国产一区在线| 福利一区二区在线| 国产日韩欧美精品电影三级在线| 精品在线亚洲视频| 精品久久人人做人人爰| 国产综合一区二区|