Am Thu, 19 Jan 2017 19:38:30 +0000 Glen Barber <g...@freebsd.org> schrieb:
> On Thu, Jan 19, 2017 at 07:10:00PM +0000, Glen Barber wrote: > > On Thu, Jan 19, 2017 at 10:16:46AM +0100, O. Hartmann wrote: > > > On Thu, 19 Jan 2017 06:58:16 +0100 > > > Matthias Apitz <g...@unixarea.de> wrote: > > > > > > > El día Wednesday, January 18, 2017 a las 08:00:04PM -0500, Allan Jude > > > > escribió: > > > > > > > > > On 2017-01-18 14:37, O. Hartmann wrote: > > > > > > Am Wed, 18 Jan 2017 16:38:32 +0100 > > > > > > Matthias Apitz <g...@unixarea.de> schrieb: > > > > > > > > > > > >> Why you do not just boot from USB some mem stick image, mount some > > > > > >> disk > > > > > >> space to /mnt, svn checkout CURRENT to /mnt and build a booteable > > > > > >> system > > > > > >> (world and kernel) and install to DESTDIR=/mnt ? > > > > > >> > > > > > >> I do not understand all this hassle? > > > > > >> > > > > > >> matthias > > > > > >> > > > > > > > > > > > > Wow! > > > > > > > > > > > > As I initially stated, that is EXACTLY what I was inclined to do > > > > > > except > > > > > > the fact that I had already an intact /usr/obj and usr/src with a > > > > > > complete compiled system. > > > > > > > > > > > > I booted from mem stick and I was lost due to no cc! > > > > > > > > > > > > Even for "make installworld" it seems I have to rely on the > > > > > > compiler. And > > > > > > the images (ISO, memstick et cetera) provided these days do not > > > > > > contain > > > > > > any clang. > > > > > > > > Yes, you will need it and it will complain about missing it, if for > > > > example you moved 'obj and 'src' to other dirs after 'make build...' > > > > > > > > But, in your case the mem image really is lacking the cc/clang; I > > > > fetched the image an did: > > > > > > > > > > > > # mdconfig -a -t vnode -u 1 -f > > > > ~guru/Downloads/FreeBSD-11.0-RELEASE-amd64-memstick.img # mount -o > > > > ro /dev/md1p3 /mnt # find /mnt -name clang > > > > /mnt/usr/share/doc/llvm/clang > > > > /mnt/usr/lib/clang > > > > /mnt/usr/lib/debug/usr/lib/clang > > > > # find /mnt -name cc > > > > /mnt/usr/include/netinet/cc > > > > > > > > With this img alone, you can't compile a system :-( > > > > > > > > Setup a system from DVD and build your own image containing a complete > > > > system on an USB key; with this boot your damaged system, recompile and > > > > reinstall world and kernel. If you (O. Hartmann) need a step by step > > > > guide, I could send it to you. > > > > > > > > matthias > > > > > > > > > > Hello, > > > > > > thanks for your help offering! very kind. > > > > > > I've already solved the problem - not with the suggested process, but via > > > copying missing libs and files from and identical intact source. After > > > that, I > > > ran make buildword/buildkernel and was able to successfully install the > > > new > > > system. > > > > > > As I stated before: I already had a complete compiled world and kernel > > > existing > > > in their proper, intact folders (usr/src and usr/obj). There was no need > > > to > > > compile a whole world. > > > Intending to "make installworld" failed, this is the real problem, > > > because the > > > ISO/memstick images provided lack obviously in the required > > > infrastructure and > > > so these images are worthless for sophisticated rescue operations - or > > > even > > > such a simple ask as described initially in my posting. > > > > > > I created images on CURRENT of my own - they all lack in the ability of > > > having > > > the necessary tools aboard. So I consider every image useless for rescue > > > operations except, maybe, the DVD image - but this one is not provided > > > anymore. > > > For what reason? Time? Accepted. Space/disk usage? Well, welcome back in > > > the > > > stoneage of computer technology ... > > > > > > I remember faintly that there was a small discussion on the @CURRENT > > > list, but > > > I didn't realize that the result would be the extraction of the compiler. > > > > > > Just for the record: most servers delivered to us do not have CD/DVD > > > drives > > > anymore - they are outdated and considered an extra these days. > > > Purchasing 1 GB > > > USB thumbdrives is getting even harder, smallest size my employer > > > provides now > > > is 2 GB. And most optical drives are DVD. From my point of view - and > > > this is a > > > personal view - the "standard" is > 1GB so there is no need to break down > > > by > > > force the FreeBSD image (if size is the reason) down to < 800 MB or < 1 > > > GB. I'd > > > consider having < 2GB the line of standards (2 GB USB mem drive). > > > And for those, with need of very small images, smaller images could be > > > provided > > > as the extra. > > > > > > > I do want to weigh in here and inform I am actively watching this > > thread. clang(1) is not in disc1.iso or bootonly.iso because the > > MK_TOOLCHAIN knob is disabled in the targets that generate them. This > > has actually been the case for quite some time for these images. > > > > dvd1.iso does contain clang, but very rarely (if ever, actually) are > > there dvd1.iso images produced for development snapshots. This is, in > > part, solely because of the additional space/bandwidth required on the > > mirrors (not just mirrors controlled by the Project, but third-party > > mirrors as well). > > > > I am working on splitting out how the memstick.img and disc1.iso images > > are produced, but ran into a problem which I'm looking into a workaround > > that is backwards-compatible. Since for USB images, a 700MB limit does > > not make sense, and right now it just so happens that the memstick.img > > is created from the same contents of disc1.iso. > > > > I know this does not help with the immediate issue, but wanted to chime > > in with I do see and understand the larger issue, and am working on > > a more long-term resolution instead of a one-line workaround. > > > > Random thought: > > Brought up out-of-band, can you try this from a memstick.img and your > already-built userland/kernel to do what you had originally tried to > install the system? > > # make -C /usr/src WITHOUT_SYSTEM_COMPILER=1 DESTDIR=/wherever installworld > > I think this is why cc(1)/clang(1) is not being used from /usr/obj, and > you don't have a compiler to compile the compiler. > > Glen > I ran on a different(!!!!) machine in the very same situation while installing kernel and world in SINGLE USER mode! Different machine, also SSD (different model): the symptomes are the very same. Close to the end of installations of lib32, the box goes down, crashes. After reboot, it can not find any kernel because /boot/kernel as well as every "per default" installed file/directory is not existent anymore - except thiose files I touched/copied. Files in /rescue do have all NULL size! That was the same on the other box on which crash I initiated this thread. The same in /sbin, /bin, /usr/bin, /usr/sbin and /lib. Some libs/files are NULL in size. So, apart from the fact that CURRENT disrupts obviously filesystems on installations, I had the doubtful chance to take a test on your suggestion above: It doesn't work! I booted this time again from the USB thumdrive with the recent FreeBSD 12-CURRENT image without the compiler and mount the still intact usr/obj and usr/src from the corrupted SSD onto the USB thumdrive and tried to do as requested. make -C /usr/src WITHOUT_SYSTEM_COMPILER=1 DESTDIR=/wherever installworld The script bugs out at "bsd.compiler.mk line 145: Unable to determine compiler type for CC=cc. Consider setting COMPILER_TYPE" Setting COMPILE_TYPE=cc results in "sh: cc not found", setting to "clang" doesn't work either. Apart from the fact of CURRENT to be incapable of rescuing, there seems to be a very serious issue with CURRENT regarding its filesystem stability and I do not know how to address this in the correct way :-( I use NanoBSD for about a year for several projects and I already have a useful USB thumdrive with a full grown system (~ 836 MB if I'm not confused including the compiler). I tried to makeinstallworld, but this time, it seems that also the usr/obj has been corrupted, so I had to perform a buildworld, which is still running. From my little experiences with building NanoBSD and the use of etc/src.conf as the source for delegating what is used in the target image and not, I was really wondering that the "RELEASE" build infrastructure is not using a predefined src.conf to reduce the size and content of the resulting image. Instead, some "WITHOUT_TOOLCHAIN" hidden and hard coded knobs are used :-( Somehow the whole thing got more confusing. I can understand that some people want some small images for their installation processes, but I think they can perform the task of creating their own images via make relaese very easily. In cases were someone crashed, like me, it would a great benefit having some real rescue stuff around instead of crippled images. But this might be a different view. regards, oh -- O. Hartmann Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).
Description: OpenPGP digital signature