site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com On Sat, 11 Jun 2005 J?rgen Bereuter <juergen.bereuter@aon.at> wrote:
Hello Sergey,
for building a new Darwin kernel look at http://developer.apple.com/ documentation/Darwin/Conceptual/KernelProgramming/build/ chapter_18_section_3.html . Should work, dont forget to set the PATH environment variable, as mentioned in note.
In the vain hope that this might actually work, I downloaded the required files and set up everything as described in the instructions: $ pwd /Users/tgree/Development/Darwin/Darwin-10.4.1 $ ls -l -a drwxr-xr-x 25 tgree tgree 850 Jun 11 20:29 Libstreams-24.1 drwxr-xr-x 12 tgree tgree 408 Feb 18 23:41 bootstrap_cmds-49 drwxr-xr-x 22 tgree tgree 748 May 10 17:57 cctools-576.2 drwxr-xr-x 32 tgree tgree 1088 Apr 28 16:11 kext_tools-59 drwxr-xr-x 17 tgree tgree 578 May 20 19:46 xnu-792.1.5 $ uname -a Darwin Terry-Greeniaus-Computer.local 8.1.0 Darwin Kernel Version 8.1.0: Tue May 10 18:16:08 PDT 2005; root:xnu-792.1.5.obj~4/RELEASE_PPC Power Macintosh powerpc $ gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) $ echo $PATH /usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin So, everything looks like it is set up properly. Things work fine until I get to the line: $ cd ../cctools -bash: cd: ../cctools: No such file or directory Of course, this should probably be: $ cd ../cctools-576.2 (meaning th line should be "cd ../cctools-version" like the other lines in the instructions). Having done that however, the next line fails miserably: $ sudo cp /usr/include/sys/ar.h \ /System/Library/Frameworks/Kernel.framework/Headers cp: /usr/include/sys/ar.h: No such file or directory However, I see ar.h in a different directory: $ ls -l /usr/include/ar.h -r--r--r-- 1 root wheel 3880 May 26 18:34 /usr/include/ar.h I'm a bit suspicious about this, and also about copying it directly into the Kernel.framework/Headers directory. But I tried it: $ sudo cp /usr/include/ar.h \ /System/Library/Frameworks/Kernel.framework/Headers/ This didn't complain about anything... Next I edited the COMMON_SUBDIRS line in the cctools Makefile. The archive I got off the website had permissions set as read-only on the Makefile (perhaps by design) so I had to change that before editing the Makefile. After editing: $ make RC_OS=macos =========== make all for libstuff ============= /bin/mkdir -p static_obj /bin/mkdir -p dynamic_obj /bin/mkdir -p profile_obj /bin/mkdir -p shlib_obj /bin/mkdir -p static64_obj /bin/mkdir -p dynamic64_obj /bin/mkdir -p profile64_obj /bin/mkdir -p static_kld_obj cc -O -g -I../../include -Wall -Wno-long-double -no-cpp-precomp -static -c \ -MD -dependency-file ./allocate.d \ -o ./allocate.o ../allocate.c md -d -u ./Makedep ./allocate.d cc -O -g -I../../include -Wall -Wno-long-double -no-cpp-precomp -static -c \ -MD -dependency-file ./errors.d \ -o ./errors.o ../errors.c md -d -u ./Makedep ./errors.d cc -O -g -I../../include -Wall -Wno-long-double -no-cpp-precomp -static -c \ -MD -dependency-file ./arch.d \ -o ./arch.o ../arch.c md -d -u ./Makedep ./arch.d cc -O -g -I../../include -Wall -Wno-long-double -no-cpp-precomp -static -c \ -MD -dependency-file ./execute.d \ -o ./execute.o ../execute.c md -d -u ./Makedep ./execute.d cc -O -g -I../../include -Wall -Wno-long-double -no-cpp-precomp -static -c \ -MD -dependency-file ./bytesex.d \ -o ./bytesex.o ../bytesex.c ../bytesex.c: In function `swap_i386_thread_fpstate': ../bytesex.c:1316: error: structure has no member named `environ' ../bytesex.c:1316: error: structure has no member named `environ' ../bytesex.c:1316: error: structure has no member named `environ' ../bytesex.c:1316: error: structure has no member named `environ' ../bytesex.c:1316: error: structure has no member named `environ' ../bytesex.c:1317: error: structure has no member named `environ' ../bytesex.c:1317: error: structure has no member named `environ' ../bytesex.c:1317: error: structure has no member named `environ' ../bytesex.c:1318: error: structure has no member named `environ' ../bytesex.c:1318: error: structure has no member named `environ' ../bytesex.c:1318: error: structure has no member named `environ' ../bytesex.c:1318: error: structure has no member named `environ' ../bytesex.c:1318: error: structure has no member named `environ' ../bytesex.c:1321: error: structure has no member named `environ' ../bytesex.c:1324: error: structure has no member named `environ' ../bytesex.c:1325: error: structure has no member named `environ' ../bytesex.c:1326: error: structure has no member named `environ' ../bytesex.c:1327: error: structure has no member named `environ' ../bytesex.c:1328: error: structure has no member named `environ' ../bytesex.c:1329: error: structure has no member named `environ' ../bytesex.c:1330: error: structure has no member named `environ' ../bytesex.c:1331: error: structure has no member named `environ' ../bytesex.c:1333: error: structure has no member named `environ' ../bytesex.c:1336: error: structure has no member named `environ' ../bytesex.c:1337: error: structure has no member named `environ' ../bytesex.c:1338: error: structure has no member named `environ' ../bytesex.c:1339: error: structure has no member named `environ' ../bytesex.c:1340: error: structure has no member named `environ' ../bytesex.c:1341: error: structure has no member named `environ' ../bytesex.c:1342: error: structure has no member named `environ' ../bytesex.c:1343: error: structure has no member named `environ' ../bytesex.c:1344: error: structure has no member named `environ' ../bytesex.c:1345: error: structure has no member named `environ' ../bytesex.c:1346: error: structure has no member named `environ' ../bytesex.c:1347: error: structure has no member named `environ' ../bytesex.c:1348: error: structure has no member named `environ' ../bytesex.c:1349: error: structure has no member named `environ' ../bytesex.c:1351: error: structure has no member named `environ' ../bytesex.c:1354: error: structure has no member named `environ' ../bytesex.c:1355: error: structure has no member named `environ' ../bytesex.c:1356: error: structure has no member named `environ' ../bytesex.c:1357: error: structure has no member named `environ' ../bytesex.c:1358: error: structure has no member named `environ' ../bytesex.c:1359: error: structure has no member named `environ' ../bytesex.c:1360: error: structure has no member named `environ' ../bytesex.c:1361: error: structure has no member named `environ' ../bytesex.c:1363: error: structure has no member named `environ' ../bytesex.c:1366: error: structure has no member named `environ' ../bytesex.c:1367: error: structure has no member named `environ' ../bytesex.c:1368: error: structure has no member named `environ' ../bytesex.c:1370: error: structure has no member named `environ' ../bytesex.c:1373: error: structure has no member named `environ' ../bytesex.c:1374: error: structure has no member named `environ' ../bytesex.c:1375: error: structure has no member named `environ' ../bytesex.c:1378: error: structure has no member named `stack' ../bytesex.c:1380: error: structure has no member named `stack' ../bytesex.c:1381: error: structure has no member named `stack' ../bytesex.c:1382: error: structure has no member named `stack' ../bytesex.c:1383: error: structure has no member named `stack' ../bytesex.c:1385: error: structure has no member named `stack' ../bytesex.c:1386: error: structure has no member named `stack' ../bytesex.c:1390: error: structure has no member named `environ' ../bytesex.c:1391: error: structure has no member named `environ' ../bytesex.c:1392: error: structure has no member named `environ' ../bytesex.c:1393: error: structure has no member named `environ' ../bytesex.c:1394: error: structure has no member named `environ' ../bytesex.c:1395: error: structure has no member named `environ' ../bytesex.c:1396: error: structure has no member named `environ' ../bytesex.c:1397: error: structure has no member named `environ' ../bytesex.c:1399: error: structure has no member named `environ' ../bytesex.c:1402: error: structure has no member named `environ' ../bytesex.c:1403: error: structure has no member named `environ' ../bytesex.c:1404: error: structure has no member named `environ' ../bytesex.c:1405: error: structure has no member named `environ' ../bytesex.c:1406: error: structure has no member named `environ' ../bytesex.c:1407: error: structure has no member named `environ' ../bytesex.c:1408: error: structure has no member named `environ' ../bytesex.c:1409: error: structure has no member named `environ' ../bytesex.c:1410: error: structure has no member named `environ' ../bytesex.c:1411: error: structure has no member named `environ' ../bytesex.c:1412: error: structure has no member named `environ' ../bytesex.c:1413: error: structure has no member named `environ' ../bytesex.c:1414: error: structure has no member named `environ' ../bytesex.c:1415: error: structure has no member named `environ' ../bytesex.c:1417: error: structure has no member named `environ' ../bytesex.c:1420: error: structure has no member named `environ' ../bytesex.c:1421: error: structure has no member named `environ' ../bytesex.c:1422: error: structure has no member named `environ' ../bytesex.c:1423: error: structure has no member named `environ' ../bytesex.c:1424: error: structure has no member named `environ' ../bytesex.c:1425: error: structure has no member named `environ' ../bytesex.c:1426: error: structure has no member named `environ' ../bytesex.c:1427: error: structure has no member named `environ' ../bytesex.c:1429: error: structure has no member named `environ' ../bytesex.c:1432: error: structure has no member named `environ' ../bytesex.c:1433: error: structure has no member named `environ' ../bytesex.c:1434: error: structure has no member named `environ' ../bytesex.c:1436: error: structure has no member named `environ' ../bytesex.c:1439: error: structure has no member named `environ' ../bytesex.c:1440: error: structure has no member named `environ' ../bytesex.c:1441: error: structure has no member named `environ' ../bytesex.c:1443: error: structure has no member named `environ' ../bytesex.c:1447: error: structure has no member named `stack' ../bytesex.c:1447: error: structure has no member named `stack' ../bytesex.c:1448: error: structure has no member named `stack' ../bytesex.c:1448: error: structure has no member named `stack' ../bytesex.c:1449: error: structure has no member named `stack' ../bytesex.c:1449: error: structure has no member named `stack' ../bytesex.c:1450: error: structure has no member named `stack' ../bytesex.c:1450: error: structure has no member named `stack' ../bytesex.c:1451: error: structure has no member named `stack' ../bytesex.c:1452: error: structure has no member named `stack' ../bytesex.c:1454: error: structure has no member named `stack' make[2]: *** [bytesex.o] Error 1 make[1]: *** [static] Error 2 make: *** [all] Error 1 No misc/seg_hack.NEW file was generated. At this point I gave up, the instructions are clearly fubared. Could an Apple engineer fix them? I'd also appreciate it if someone who has built a kernel (preferably from scratch) could post instructions on how this is really accomplished. Perhaps with the darwinbuild scripts? But the darwinbuild plists directory doesn't have an 8B15.plist file, which is what I understand is required to build a 10.4.1 project. Thanks, TG _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com