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

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

?? build.c,v

?? linux-0.10 對于想了解linux內核,而又不想花太多精力的人,最好就是這種低版本,而具有核心價值的程序
?? C,V
字號:
head     1.2;branch   ;access   ;symbols  ;locks    ; strict;comment  @ * @;1.2date     91.11.20.00.07.29;  author tytso;  state Exp;branches ;next     1.1;1.1date     91.11.11.14.45.51;  author tytso;  state Exp;branches ;next     ;desc@@1.2log@Add code to support changing the root device at boot time.@text@/* *  linux/tools/build.c * *  (C) 1991  Linus Torvalds *//* * This file builds a disk-image from three different files: * * - bootsect: max 510 bytes of 8086 machine code, loads the rest * - setup: max 4 sectors of 8086 machine code, sets up system parm * - system: 80386 code for actual system * * It does some checking that all files are of the correct type, and * just writes the result to stdout, removing headers and padding to * the right amount. It also writes some system data to stderr. */#include <stdio.h>	/* fprintf */#include <string.h>#include <stdlib.h>	/* contains exit */#include <sys/types.h>	/* unistd.h needs this */#include <sys/stat.h>#include <linux/fs.h>#include <unistd.h>	/* contains read/write */#include <fcntl.h>#define MINIX_HEADER 32#define GCC_HEADER 1024#define DEFAULT_MAJOR_ROOT 3#define DEFAULT_MINOR_ROOT 6/* max nr of sectors of setup: don't change unless you also change * bootsect etc */#define SETUP_SECTS 4#define STRINGIFY(x) #xvoid die(char * str){	fprintf(stderr,"%s\n",str);	exit(1);}void usage(void){	die("Usage: build bootsect setup system [> image]");}int main(int argc, char ** argv){	int i,c,id;	char buf[1024];	char major_root, minor_root;	struct stat sb;	if ((argc != 4) && (argc != 5))		usage();	if (argc == 5) {		if (strcmp(argv[4], "FLOPPY")) {			if (stat(argv[4], &sb)) {				perror(argv[4]);				die("Couldn't stat root device.");			}			major_root = MAJOR(sb.st_rdev);			minor_root = MINOR(sb.st_rdev);		} else {			major_root = 0;			minor_root = 0;		}	} else {		major_root = DEFAULT_MAJOR_ROOT;		minor_root = DEFAULT_MINOR_ROOT;	}	fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);	if ((major_root != 2) && (major_root != 3) &&	    (major_root != 0)) {		fprintf(stderr, "Illegal root device (major = %d)\n",			major_root);		die("Bad root device --- major #");	}	for (i=0;i<sizeof buf; i++) buf[i]=0;	if ((id=open(argv[1],O_RDONLY,0))<0)		die("Unable to open 'boot'");	if (read(id,buf,MINIX_HEADER) != MINIX_HEADER)		die("Unable to read header of 'boot'");	if (((long *) buf)[0]!=0x04100301)		die("Non-Minix header of 'boot'");	if (((long *) buf)[1]!=MINIX_HEADER)		die("Non-Minix header of 'boot'");	if (((long *) buf)[3]!=0)		die("Illegal data segment in 'boot'");	if (((long *) buf)[4]!=0)		die("Illegal bss in 'boot'");	if (((long *) buf)[5] != 0)		die("Non-Minix header of 'boot'");	if (((long *) buf)[7] != 0)		die("Illegal symbol table in 'boot'");	i=read(id,buf,sizeof buf);	fprintf(stderr,"Boot sector %d bytes.\n",i);	if (i != 512)		die("Boot block must be exactly 512 bytes");	if ((*(unsigned short *)(buf+510)) != 0xAA55)		die("Boot block hasn't got boot flag (0xAA55)");	buf[508] = (char) minor_root;	buf[509] = (char) major_root;		i=write(1,buf,512);	if (i!=512)		die("Write call failed");	close (id);		if ((id=open(argv[2],O_RDONLY,0))<0)		die("Unable to open 'setup'");	if (read(id,buf,MINIX_HEADER) != MINIX_HEADER)		die("Unable to read header of 'setup'");	if (((long *) buf)[0]!=0x04100301)		die("Non-Minix header of 'setup'");	if (((long *) buf)[1]!=MINIX_HEADER)		die("Non-Minix header of 'setup'");	if (((long *) buf)[3]!=0)		die("Illegal data segment in 'setup'");	if (((long *) buf)[4]!=0)		die("Illegal bss in 'setup'");	if (((long *) buf)[5] != 0)		die("Non-Minix header of 'setup'");	if (((long *) buf)[7] != 0)		die("Illegal symbol table in 'setup'");	for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c )		if (write(1,buf,c)!=c)			die("Write call failed");	close (id);	if (i > SETUP_SECTS*512)		die("Setup exceeds " STRINGIFY(SETUP_SECTS)			" sectors - rewrite build/boot/setup");	fprintf(stderr,"Setup is %d bytes.\n",i);	for (c=0 ; c<sizeof(buf) ; c++)		buf[c] = '\0';	while (i<SETUP_SECTS*512) {		c = SETUP_SECTS*512-i;		if (c > sizeof(buf))			c = sizeof(buf);		if (write(1,buf,c) != c)			die("Write call failed");		i += c;	}		if ((id=open(argv[3],O_RDONLY,0))<0)		die("Unable to open 'system'");	if (read(id,buf,GCC_HEADER) != GCC_HEADER)		die("Unable to read header of 'system'");	if (((long *) buf)[5] != 0)		die("Non-GCC header of 'system'");	for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c )		if (write(1,buf,c)!=c)			die("Write call failed");	close(id);	fprintf(stderr,"System is %d bytes.\n",i);	return(0);}@1.1log@Initial revision@text@d20 1d23 2d31 3d55 2d58 1a58 1	if (argc != 4)d60 23d106 2@

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久无码av三级| 日韩亚洲欧美中文三级| 欧美日韩精品一区二区三区四区| 6080国产精品一区二区| 国产精品国产三级国产普通话蜜臀 | 日韩电影在线观看网站| 国产精品热久久久久夜色精品三区| 91精品免费观看| 亚洲私人影院在线观看| 国产乱码精品一区二区三区忘忧草 | 欧美最新大片在线看| 久久婷婷色综合| 午夜精品视频一区| 99精品久久只有精品| 精品国产第一区二区三区观看体验| 亚洲精品视频免费看| 国产精品一线二线三线| 欧美一区二区三区人| 亚洲一区二区影院| 9i在线看片成人免费| 久久九九久久九九| 久久99精品久久久久久| 欧美一级精品在线| 五月婷婷综合网| 欧美日韩高清一区二区不卡| 一区二区三区在线看| av在线不卡网| 欧美韩国日本不卡| 国产成人h网站| 国产欧美日韩不卡免费| 国产在线看一区| 久久嫩草精品久久久久| 精品一区二区三区在线视频| 91精品国产91久久久久久最新毛片| 亚洲综合一二区| 在线亚洲欧美专区二区| 一区二区成人在线观看| 欧美在线看片a免费观看| 亚洲免费av高清| 色综合久久久久综合99| 亚洲欧美精品午睡沙发| 91成人在线免费观看| 亚洲午夜精品一区二区三区他趣| 色综合久久六月婷婷中文字幕| 亚洲免费伊人电影| 欧美视频一二三区| 欧美a级理论片| 精品黑人一区二区三区久久| 国产一区美女在线| 国产精品麻豆欧美日韩ww| 99re热这里只有精品免费视频| 国产精品久久久久一区二区三区共| 成人国产精品免费观看动漫| 亚洲免费成人av| 欧美日韩mp4| 丝袜美腿高跟呻吟高潮一区| 日韩美女一区二区三区四区| 高清国产一区二区| 久久久久国产精品免费免费搜索| 国产一区二区在线观看免费| 日韩你懂的电影在线观看| 亚洲精品欧美在线| 欧洲国内综合视频| 婷婷夜色潮精品综合在线| 欧美日韩日日摸| 国内精品国产成人国产三级粉色| 国产精品系列在线| 欧美一区二区三区精品| 国产一区 二区| 亚洲一区二区综合| 精品国产精品一区二区夜夜嗨| 99精品热视频| 久久精品99久久久| 亚洲欧美成人一区二区三区| 日韩三区在线观看| 成人激情动漫在线观看| 日韩电影在线一区二区三区| 自拍偷拍国产亚洲| 精品久久国产字幕高潮| 色综合中文字幕| 国产老妇另类xxxxx| 亚洲综合一区二区| 中文字幕日本不卡| 精品欧美一区二区在线观看| 一本在线高清不卡dvd| 国产在线麻豆精品观看| 亚洲国产视频在线| 国产午夜亚洲精品不卡| 欧美日韩国产一级| 日本道免费精品一区二区三区| 国产精品一区二区果冻传媒| 五月天欧美精品| 亚洲综合久久久久| 中文字幕色av一区二区三区| 久久久噜噜噜久久中文字幕色伊伊 | 91色九色蝌蚪| 国产盗摄精品一区二区三区在线| 日av在线不卡| 天天综合网天天综合色| 亚洲国产视频在线| 一区二区三区不卡在线观看| 国产精品三级在线观看| 久久久久久电影| 26uuu亚洲| 日韩女优毛片在线| 欧美成人a在线| 日韩欧美自拍偷拍| 精品蜜桃在线看| 欧美α欧美αv大片| 欧美成人a∨高清免费观看| 日韩欧美在线123| 日韩精品中文字幕一区| 欧美一级视频精品观看| 欧美一区二区三区四区久久| 欧美精品久久99| 91精品国产一区二区三区香蕉| 7777精品久久久大香线蕉| 欧美日韩电影一区| 91精品国产麻豆| 欧美大片顶级少妇| 国产午夜精品理论片a级大结局 | 欧美色视频一区| 欧美视频一区在线观看| 538在线一区二区精品国产| 欧美一区二区大片| www国产精品av| 中文字幕免费一区| 亚洲精品自拍动漫在线| 亚洲成人自拍一区| 日本不卡一区二区三区高清视频| 精品在线你懂的| 欧美国产欧美亚州国产日韩mv天天看完整| 91视频免费看| 在线视频综合导航| 日韩欧美国产一区在线观看| 精品精品国产高清a毛片牛牛| 中文在线免费一区三区高中清不卡| 国产精品毛片大码女人| 亚洲超碰精品一区二区| 狠狠色2019综合网| 99re免费视频精品全部| 在线成人小视频| 久久久久久久久蜜桃| 亚洲乱码中文字幕综合| 麻豆freexxxx性91精品| 成人高清在线视频| 在线观看91av| 国产精品久久久久久久久动漫 | 亚洲国产精品传媒在线观看| 亚洲精品视频在线观看免费| 美日韩一区二区| 91亚洲男人天堂| 日韩欧美一区二区三区在线| 亚洲色图19p| 极品少妇一区二区| 色偷偷一区二区三区| 日韩亚洲欧美在线观看| 亚洲日本va午夜在线影院| 蜜桃视频在线一区| 95精品视频在线| 精品久久久久久综合日本欧美| 亚洲欧美日韩在线播放| 激情文学综合丁香| 欧美日韩三级一区二区| 国产精品久久久久aaaa樱花| 色狠狠av一区二区三区| 欧美男人的天堂一二区| 精品久久国产老人久久综合| 亚洲精品久久久蜜桃| 国产精品一线二线三线| 欧美一区二区三区性视频| 亚洲视频在线观看三级| 精品亚洲欧美一区| 欧美日本一道本在线视频| 国产精品久久久久久久久搜平片 | 国产成人精品1024| 精品久久久久久久一区二区蜜臀| 亚洲最新在线观看| 成人动漫在线一区| 久久久综合视频| 免费观看日韩av| 欧美日韩国产在线观看| 一区二区三区在线观看视频| 成人三级伦理片| 国产亚洲午夜高清国产拍精品 | 久久中文字幕电影| 日韩成人午夜电影| 欧美蜜桃一区二区三区| 一区二区三区日本| 一本久道久久综合中文字幕| 中文字幕不卡在线播放| 国产成人在线看| 国产午夜精品久久| 国产精品一区二区免费不卡| 久久午夜免费电影| 国产成人精品网址| 国产偷国产偷精品高清尤物 | 久久er99热精品一区二区| 日韩视频在线你懂得| 奇米四色…亚洲|