⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 build.htm

📁 这是一个Linux内核。是0.11版本的
💻 HTM
📖 第 1 页 / 共 2 页
字号:
 <a name=L75 href="source/tools/build.c#L75">75</a>                         major_root = 0; <a name=L76 href="source/tools/build.c#L76">76</a>                         minor_root = 0; <a name=L77 href="source/tools/build.c#L77">77</a>                 } <a name=L78 href="source/tools/build.c#L78">78</a>         } else { <a name=L79 href="source/tools/build.c#L79">79</a>                 major_root = <a href="ident?i=DEFAULT_MAJOR_ROOT">DEFAULT_MAJOR_ROOT</a>; <a name=L80 href="source/tools/build.c#L80">80</a>                 minor_root = <a href="ident?i=DEFAULT_MINOR_ROOT">DEFAULT_MINOR_ROOT</a>; <a name=L81 href="source/tools/build.c#L81">81</a>         } <a name=L82 href="source/tools/build.c#L82">82</a>         fprintf(stderr, <i>"Root device is (%d, %d)\n"</i>, major_root, minor_root); <a name=L83 href="source/tools/build.c#L83">83</a>         if ((major_root != 2) &amp;&amp; (major_root != 3) &amp;&amp; <a name=L84 href="source/tools/build.c#L84">84</a>             (major_root != 0)) { <a name=L85 href="source/tools/build.c#L85">85</a>                 fprintf(stderr, <i>"Illegal root device (major = %d)\n"</i>, <a name=L86 href="source/tools/build.c#L86">86</a>                         major_root); <a name=L87 href="source/tools/build.c#L87">87</a>                 <a href="ident?i=die">die</a>(<i>"Bad root device --- major #"</i>); <a name=L88 href="source/tools/build.c#L88">88</a>         } <a name=L89 href="source/tools/build.c#L89">89</a>         for (i=0;i&lt;sizeof <a href="ident?i=buf">buf</a>; i++) <a href="ident?i=buf">buf</a>[i]=0; <a name=L90 href="source/tools/build.c#L90">90</a>         if ((id=<a href="ident?i=open">open</a>(<a href="ident?i=argv">argv</a>[1],<a href="ident?i=O_RDONLY">O_RDONLY</a>,0))&lt;0) <a name=L91 href="source/tools/build.c#L91">91</a>                 <a href="ident?i=die">die</a>(<i>"Unable to open 'boot'"</i>); <a name=L92 href="source/tools/build.c#L92">92</a>         if (<a href="ident?i=read">read</a>(id,<a href="ident?i=buf">buf</a>,<a href="ident?i=MINIX_HEADER">MINIX_HEADER</a>) != <a href="ident?i=MINIX_HEADER">MINIX_HEADER</a>) <a name=L93 href="source/tools/build.c#L93">93</a>                 <a href="ident?i=die">die</a>(<i>"Unable to read header of 'boot'"</i>); <a name=L94 href="source/tools/build.c#L94">94</a>         if (((long *) <a href="ident?i=buf">buf</a>)[0]!=0x04100301) <a name=L95 href="source/tools/build.c#L95">95</a>                 <a href="ident?i=die">die</a>(<i>"Non-Minix header of 'boot'"</i>); <a name=L96 href="source/tools/build.c#L96">96</a>         if (((long *) <a href="ident?i=buf">buf</a>)[1]!=<a href="ident?i=MINIX_HEADER">MINIX_HEADER</a>) <a name=L97 href="source/tools/build.c#L97">97</a>                 <a href="ident?i=die">die</a>(<i>"Non-Minix header of 'boot'"</i>); <a name=L98 href="source/tools/build.c#L98">98</a>         if (((long *) <a href="ident?i=buf">buf</a>)[3]!=0) <a name=L99 href="source/tools/build.c#L99">99</a>                 <a href="ident?i=die">die</a>(<i>"Illegal data segment in 'boot'"</i>);<a name=L100 href="source/tools/build.c#L100">100</a>         if (((long *) <a href="ident?i=buf">buf</a>)[4]!=0)<a name=L101 href="source/tools/build.c#L101">101</a>                 <a href="ident?i=die">die</a>(<i>"Illegal bss in 'boot'"</i>);<a name=L102 href="source/tools/build.c#L102">102</a>         if (((long *) <a href="ident?i=buf">buf</a>)[5] != 0)<a name=L103 href="source/tools/build.c#L103">103</a>                 <a href="ident?i=die">die</a>(<i>"Non-Minix header of 'boot'"</i>);<a name=L104 href="source/tools/build.c#L104">104</a>         if (((long *) <a href="ident?i=buf">buf</a>)[7] != 0)<a name=L105 href="source/tools/build.c#L105">105</a>                 <a href="ident?i=die">die</a>(<i>"Illegal symbol table in 'boot'"</i>);<a name=L106 href="source/tools/build.c#L106">106</a>         i=<a href="ident?i=read">read</a>(id,<a href="ident?i=buf">buf</a>,sizeof <a href="ident?i=buf">buf</a>);<a name=L107 href="source/tools/build.c#L107">107</a>         fprintf(stderr,<i>"Boot sector %d bytes.\n"</i>,i);<a name=L108 href="source/tools/build.c#L108">108</a>         if (i != 512)<a name=L109 href="source/tools/build.c#L109">109</a>                 <a href="ident?i=die">die</a>(<i>"Boot block must be exactly 512 bytes"</i>);<a name=L110 href="source/tools/build.c#L110">110</a>         if ((*(unsigned short *)(<a href="ident?i=buf">buf</a>+510)) != 0xAA55)<a name=L111 href="source/tools/build.c#L111">111</a>                 <a href="ident?i=die">die</a>(<i>"Boot block hasn't got boot flag (0xAA55)"</i>);<a name=L112 href="source/tools/build.c#L112">112</a>         <a href="ident?i=buf">buf</a>[508] = (char) minor_root;<a name=L113 href="source/tools/build.c#L113">113</a>         <a href="ident?i=buf">buf</a>[509] = (char) major_root;   <a name=L114 href="source/tools/build.c#L114">114</a>         i=<a href="ident?i=write">write</a>(1,<a href="ident?i=buf">buf</a>,512);<a name=L115 href="source/tools/build.c#L115">115</a>         if (i!=512)<a name=L116 href="source/tools/build.c#L116">116</a>                 <a href="ident?i=die">die</a>(<i>"Write call failed"</i>);<a name=L117 href="source/tools/build.c#L117">117</a>         <a href="ident?i=close">close</a> (id);<a name=L118 href="source/tools/build.c#L118">118</a>         <a name=L119 href="source/tools/build.c#L119">119</a>         if ((id=<a href="ident?i=open">open</a>(<a href="ident?i=argv">argv</a>[2],<a href="ident?i=O_RDONLY">O_RDONLY</a>,0))&lt;0)<a name=L120 href="source/tools/build.c#L120">120</a>                 <a href="ident?i=die">die</a>(<i>"Unable to open 'setup'"</i>);<a name=L121 href="source/tools/build.c#L121">121</a>         if (<a href="ident?i=read">read</a>(id,<a href="ident?i=buf">buf</a>,<a href="ident?i=MINIX_HEADER">MINIX_HEADER</a>) != <a href="ident?i=MINIX_HEADER">MINIX_HEADER</a>)<a name=L122 href="source/tools/build.c#L122">122</a>                 <a href="ident?i=die">die</a>(<i>"Unable to read header of 'setup'"</i>);<a name=L123 href="source/tools/build.c#L123">123</a>         if (((long *) <a href="ident?i=buf">buf</a>)[0]!=0x04100301)<a name=L124 href="source/tools/build.c#L124">124</a>                 <a href="ident?i=die">die</a>(<i>"Non-Minix header of 'setup'"</i>);<a name=L125 href="source/tools/build.c#L125">125</a>         if (((long *) <a href="ident?i=buf">buf</a>)[1]!=<a href="ident?i=MINIX_HEADER">MINIX_HEADER</a>)<a name=L126 href="source/tools/build.c#L126">126</a>                 <a href="ident?i=die">die</a>(<i>"Non-Minix header of 'setup'"</i>);<a name=L127 href="source/tools/build.c#L127">127</a>         if (((long *) <a href="ident?i=buf">buf</a>)[3]!=0)<a name=L128 href="source/tools/build.c#L128">128</a>                 <a href="ident?i=die">die</a>(<i>"Illegal data segment in 'setup'"</i>);<a name=L129 href="source/tools/build.c#L129">129</a>         if (((long *) <a href="ident?i=buf">buf</a>)[4]!=0)<a name=L130 href="source/tools/build.c#L130">130</a>                 <a href="ident?i=die">die</a>(<i>"Illegal bss in 'setup'"</i>);<a name=L131 href="source/tools/build.c#L131">131</a>         if (((long *) <a href="ident?i=buf">buf</a>)[5] != 0)<a name=L132 href="source/tools/build.c#L132">132</a>                 <a href="ident?i=die">die</a>(<i>"Non-Minix header of 'setup'"</i>);<a name=L133 href="source/tools/build.c#L133">133</a>         if (((long *) <a href="ident?i=buf">buf</a>)[7] != 0)<a name=L134 href="source/tools/build.c#L134">134</a>                 <a href="ident?i=die">die</a>(<i>"Illegal symbol table in 'setup'"</i>);<a name=L135 href="source/tools/build.c#L135">135</a>         for (i=0 ; (c=<a href="ident?i=read">read</a>(id,<a href="ident?i=buf">buf</a>,sizeof <a href="ident?i=buf">buf</a>))&gt;0 ; i+=c )<a name=L136 href="source/tools/build.c#L136">136</a>                 if (<a href="ident?i=write">write</a>(1,<a href="ident?i=buf">buf</a>,c)!=c)<a name=L137 href="source/tools/build.c#L137">137</a>                         <a href="ident?i=die">die</a>(<i>"Write call failed"</i>);<a name=L138 href="source/tools/build.c#L138">138</a>         <a href="ident?i=close">close</a> (id);<a name=L139 href="source/tools/build.c#L139">139</a>         if (i &gt; <a href="ident?i=SETUP_SECTS">SETUP_SECTS</a>*512)<a name=L140 href="source/tools/build.c#L140">140</a>                 <a href="ident?i=die">die</a>(<i>"Setup exceeds "</i> <a href="ident?i=STRINGIFY">STRINGIFY</a>(<a href="ident?i=SETUP_SECTS">SETUP_SECTS</a>)<a name=L141 href="source/tools/build.c#L141">141</a>                         <i>" sectors - rewrite build/boot/setup"</i>);<a name=L142 href="source/tools/build.c#L142">142</a>         fprintf(stderr,<i>"Setup is %d bytes.\n"</i>,i);<a name=L143 href="source/tools/build.c#L143">143</a>         for (c=0 ; c&lt;sizeof(<a href="ident?i=buf">buf</a>) ; c++)<a name=L144 href="source/tools/build.c#L144">144</a>                 <a href="ident?i=buf">buf</a>[c] = <i>'\0'</i>;<a name=L145 href="source/tools/build.c#L145">145</a>         while (i&lt;<a href="ident?i=SETUP_SECTS">SETUP_SECTS</a>*512) {<a name=L146 href="source/tools/build.c#L146">146</a>                 c = <a href="ident?i=SETUP_SECTS">SETUP_SECTS</a>*512-i;<a name=L147 href="source/tools/build.c#L147">147</a>                 if (c &gt; sizeof(<a href="ident?i=buf">buf</a>))<a name=L148 href="source/tools/build.c#L148">148</a>                         c = sizeof(<a href="ident?i=buf">buf</a>);<a name=L149 href="source/tools/build.c#L149">149</a>                 if (<a href="ident?i=write">write</a>(1,<a href="ident?i=buf">buf</a>,c) != c)<a name=L150 href="source/tools/build.c#L150">150</a>                         <a href="ident?i=die">die</a>(<i>"Write call failed"</i>);<a name=L151 href="source/tools/build.c#L151">151</a>                 i += c;<a name=L152 href="source/tools/build.c#L152">152</a>         }<a name=L153 href="source/tools/build.c#L153">153</a>         <a name=L154 href="source/tools/build.c#L154">154</a>         if ((id=<a href="ident?i=open">open</a>(<a href="ident?i=argv">argv</a>[3],<a href="ident?i=O_RDONLY">O_RDONLY</a>,0))&lt;0)<a name=L155 href="source/tools/build.c#L155">155</a>                 <a href="ident?i=die">die</a>(<i>"Unable to open 'system'"</i>);<a name=L156 href="source/tools/build.c#L156">156</a>         if (<a href="ident?i=read">read</a>(id,<a href="ident?i=buf">buf</a>,<a href="ident?i=GCC_HEADER">GCC_HEADER</a>) != <a href="ident?i=GCC_HEADER">GCC_HEADER</a>)<a name=L157 href="source/tools/build.c#L157">157</a>                 <a href="ident?i=die">die</a>(<i>"Unable to read header of 'system'"</i>);<a name=L158 href="source/tools/build.c#L158">158</a>         if (((long *) <a href="ident?i=buf">buf</a>)[5] != 0)<a name=L159 href="source/tools/build.c#L159">159</a>                 <a href="ident?i=die">die</a>(<i>"Non-GCC header of 'system'"</i>);<a name=L160 href="source/tools/build.c#L160">160</a>         for (i=0 ; (c=<a href="ident?i=read">read</a>(id,<a href="ident?i=buf">buf</a>,sizeof <a href="ident?i=buf">buf</a>))&gt;0 ; i+=c )<a name=L161 href="source/tools/build.c#L161">161</a>                 if (<a href="ident?i=write">write</a>(1,<a href="ident?i=buf">buf</a>,c)!=c)<a name=L162 href="source/tools/build.c#L162">162</a>                         <a href="ident?i=die">die</a>(<i>"Write call failed"</i>);<a name=L163 href="source/tools/build.c#L163">163</a>         <a href="ident?i=close">close</a>(id);<a name=L164 href="source/tools/build.c#L164">164</a>         fprintf(stderr,<i>"System is %d bytes.\n"</i>,i);<a name=L165 href="source/tools/build.c#L165">165</a>         if (i &gt; <a href="ident?i=SYS_SIZE">SYS_SIZE</a>*16)<a name=L166 href="source/tools/build.c#L166">166</a>                 <a href="ident?i=die">die</a>(<i>"System is too big"</i>);<a name=L167 href="source/tools/build.c#L167">167</a>         return(0);<a name=L168 href="source/tools/build.c#L168">168</a> }<a name=L169 href="source/tools/build.c#L169">169</a> </pre><hr><div align=center>   [<b><i>源代码浏览</i></b>] [<a href="diff/tools/build.c">区别标定</a>] [<a href="ident">标识符搜索</a>] [<a href="search">文本搜索</a>] [<a href="find">文件搜索</a>] </div><hr>本网页由 <a href="http:blurb.html">LXR引擎</a> 自动生成.<br></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -