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

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

?? build.c

?? linux最早的源代碼
?? C
字號:
/* *  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. *//* * Changes by tytso to allow root device specification */#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 SYS_SIZE 0x2000#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 [rootdev] [> 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);	if (i > SYS_SIZE*16)		die("System is too big");	return(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱子伦一区| 99精品久久免费看蜜臀剧情介绍| 欧美一区二区在线视频| 捆绑调教一区二区三区| 国产精品理论在线观看| 制服.丝袜.亚洲.中文.综合| 国产成人综合在线播放| 天堂蜜桃91精品| 亚洲欧美另类在线| 日韩一区二区在线观看视频播放| 国产高清视频一区| 久久精品国内一区二区三区| 久久久久久久性| 精品国一区二区三区| 欧美日韩美少妇| 99精品欧美一区二区蜜桃免费| 老司机精品视频导航| 亚洲国产日日夜夜| 久久人人97超碰com| 欧美一区二区三区免费观看视频 | 欧美国产精品v| 久久免费电影网| 久久精品水蜜桃av综合天堂| 日韩欧美国产一二三区| 337p亚洲精品色噜噜噜| 欧美日韩aaa| 日韩欧美一区在线观看| 日韩一级成人av| 欧美高清www午色夜在线视频| 91丝袜美女网| 欧美日韩中文一区| 欧美日韩一区二区三区在线看 | 一区二区三区免费网站| 综合久久久久久| 一区二区高清视频在线观看| 国产精品久久久久9999吃药| 26uuu色噜噜精品一区| 7777精品伊人久久久大香线蕉的 | 精品在线视频一区| 美国精品在线观看| 丁香五精品蜜臀久久久久99网站| www.色精品| 欧美理论电影在线| 国产欧美一区二区在线| 国产欧美日韩亚州综合 | 国产精品第一页第二页第三页| 欧美国产欧美亚州国产日韩mv天天看完整 | 中文字幕二三区不卡| xnxx国产精品| 一区二区三区91| 日韩综合在线视频| av成人动漫在线观看| 精品久久国产97色综合| 中文字幕中文字幕一区| 麻豆国产精品官网| 欧美人与禽zozo性伦| 欧美韩国一区二区| 久久精品国产**网站演员| 成人免费av在线| www国产精品av| 日韩不卡免费视频| 91老司机福利 在线| 国产情人综合久久777777| 日韩黄色小视频| 欧美三级日韩三级| 亚洲精品视频观看| 91同城在线观看| 中文字幕二三区不卡| 国产+成+人+亚洲欧洲自线| 日韩一级完整毛片| 麻豆成人久久精品二区三区红| 欧美三级乱人伦电影| 国产视频911| 国产在线一区二区| 久久在线免费观看| 国产成人午夜高潮毛片| 久久噜噜亚洲综合| 成人午夜电影网站| 亚洲欧美一区二区三区极速播放| 成人黄色软件下载| 亚洲人成影院在线观看| 91久久免费观看| 午夜精彩视频在线观看不卡| 欧美日韩一区在线观看| 丝袜脚交一区二区| 2023国产精华国产精品| 风间由美一区二区三区在线观看 | 亚洲人成7777| 在线视频欧美区| 日产国产高清一区二区三区| 精品国产3级a| 99精品国产一区二区三区不卡| 中文字幕欧美一| 97se亚洲国产综合在线| 亚洲第一在线综合网站| 精品国产亚洲一区二区三区在线观看| 青青草伊人久久| 亚洲人午夜精品天堂一二香蕉| 欧美无砖专区一中文字| 国产尤物一区二区| 有码一区二区三区| 久久精品无码一区二区三区| 欧美性大战久久| 国产另类ts人妖一区二区| 亚洲天堂2016| 国产欧美一区二区在线| 欧美老女人第四色| 95精品视频在线| 国产999精品久久久久久绿帽| 亚洲在线中文字幕| 亚洲视频中文字幕| 国产亚洲精品7777| 欧美变态tickle挠乳网站| 欧美亚洲高清一区| 色婷婷综合久久久中文字幕| 久久国产精品露脸对白| 日本在线不卡视频| 亚洲国产wwwccc36天堂| 国产欧美一区二区精品婷婷 | 94-欧美-setu| 福利一区二区在线| 久久精工是国产品牌吗| 美女mm1313爽爽久久久蜜臀| 日韩电影在线看| 亚洲成av人在线观看| 亚洲电影视频在线| 亚洲综合无码一区二区| 亚洲美女在线国产| 亚洲曰韩产成在线| 香蕉久久一区二区不卡无毒影院| 亚洲黄色小视频| 亚洲成在人线在线播放| 五月天激情综合网| 蜜臀av性久久久久蜜臀aⅴ| 蜜臀精品一区二区三区在线观看 | 日韩av在线免费观看不卡| 一区二区三区资源| 日韩黄色片在线观看| 狠狠色丁香婷综合久久| 成人高清视频免费观看| 色偷偷久久人人79超碰人人澡| 欧美色综合网站| xf在线a精品一区二区视频网站| 久久精品男人的天堂| 国产拍欧美日韩视频二区| 久久久久久免费| 亚洲欧美日韩在线| 青青草97国产精品免费观看| 国产精品亚洲午夜一区二区三区| 91丨国产丨九色丨pron| 欧美日产国产精品| 久久久久久久久蜜桃| 一区二区三区欧美亚洲| 国产一区二区在线观看视频| 972aa.com艺术欧美| 久久这里只精品最新地址| 一区二区不卡在线视频 午夜欧美不卡在| 日韩av不卡一区二区| 99久久精品久久久久久清纯| 精品少妇一区二区三区视频免付费| 中文字幕在线不卡视频| 狠狠久久亚洲欧美| 欧美日精品一区视频| 国产精品亲子伦对白| 美女脱光内衣内裤视频久久影院| 91丨porny丨蝌蚪视频| 国产日本亚洲高清| 激情成人午夜视频| 精品乱人伦小说| 日韩高清不卡一区二区三区| 91视频一区二区三区| 日本一区二区三区四区| 国产在线播放一区三区四| 欧美视频一区二| 一区二区三区国产| 国产高清一区日本| 欧美精品一区二区三区蜜臀| 蜜桃av一区二区在线观看| 欧美日韩精品电影| 午夜欧美大尺度福利影院在线看| 色狠狠av一区二区三区| 亚洲欧美日韩中文字幕一区二区三区 | 一本一道久久a久久精品综合蜜臀| 亚洲国产成人午夜在线一区| 国产iv一区二区三区| 国产精品初高中害羞小美女文| 99久久99久久综合| 亚洲免费在线看| 欧美一卡2卡3卡4卡| 激情综合色播激情啊| 国产日韩精品一区二区三区在线| 国产成人午夜精品影院观看视频 | 日韩高清电影一区| 久久老女人爱爱| 欧美亚州韩日在线看免费版国语版| 亚洲成人激情综合网| 日韩午夜小视频| 99re8在线精品视频免费播放| 亚洲乱码国产乱码精品精98午夜 | 中文字幕人成不卡一区|