build a Linux entirely form scratch by compilation of absolutely each stuff with unicornpup
Hi
I am trying a new experience:
build Linux from scratch
but not as a very ugly job as usual (step by step) but using computer aid (I find it is silly dilly to sit in front of a computer an enter lots of data being accessible by the computer itself to do the job itself at the time were you can listen the TV or some other distractions...)
but I did meet a problem:
the method (from a gifted developer and only used also by me) requires a proper system where all precedent essays and there trace are completely erased!
so I did say to me:
«Oh! somewhat for Puppy!»
Why?
- we have extreme modern stuff like this unicornpup, about most possible modern stuff of all!
- including adequate devx file (devx_unicorn_6.0.sfs)
- very small system (135 MB)
- but fast as a lot runs in RAM
- and you can erase (or only rename) all of precedent essays without toil: reboot with an othe Puppy, rename the save file, copy the precedent save file (32 MB), restart, resize the save file, reboot a last time and
begin the job to buiild an
entirely self compiled Linux in your PC (for your own processor, please!)
Hm...
I did prepare an adequate 32 MB save file in my /mnt/sdaX/Zuni directory (the subdir dedicated to unicornpup on my sytem) with SARAB (to fat the system being occupied probably 2 or 3 days allong by the compilation without limit), a browser, Seamonkey, to make the waiting time attractive (compile all a Linux including Xorg requires a long time on PC's with old processors as my PC, an old DELL Optiplex SX 280 with Pentium 2,8 GHx, not Celeron, 2GB / 0,5 TB),
I did add
https://packages.debian.org/jessie/syslinux-utils as isohybrid is required (later, at the end of the complete process) and not included. After that I did make a copy of that tiny file using, using an other Puppy, then after restart increase the tiny file to 2 GB to dispose of the all volume of my RAM at working time and restart...and really start the job!
the job consist into copy (line after line a lot of commando line into an opened console by marking each line separately and hitting in the console on the middle mouse key followed by «enter»... not really a science. easy and fast!
first problem:
some commands are given by busybox and not conform to the usual commands (groupadd/addgroup and useradd/adduser). the commando line needing are:
mkdir /mnt/lfs
#following step if only needed if you use a separate partition as chroot:
mount /dev/sdaX /mnt/lfs # !!!adapt it to your partitions!!!
export LFS=/mnt/lfs
mkdir -vp $LFS/{sources,tools}
ln -svf $LFS/tools /
ln -svf $LFS/sources /
addgroup lfs
adduser -s /bin/bash -G lfs -D -H lfs
mkdir /home
mkdir /home/lfs
chown -v lfs $LFS/{tools,sources} chmod -v a+wt $LFS/sources chown -v lfs $LFS
su - lfs
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/home/lfs/bin:/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF
source ~/.bash_profile
git clone git://git.tuxfamily.org/gitroot/nutyx/saravane.git
cd saravane
scripts/runmebeforepass1
less than 30 commando lines to execute the adequate preparations!
or only exactly 30 commando lines (if you use a separate partition, if not, only 29) including following two next lines needed to execute the complete pass 1 of compilation!
cd /home/lfs/saravane/chroot
pass
but
very important you must see a message
====> Successfull configured
before you can try to start the pass1 entering the 2 last lines...
and this doesn't / never happen
in unicorn pup...
(you can try to continue using CursorUp + enter, in case of difficulty of download the sources it can really help!)
I did repeat this attempt more times in Unicorn without success... What can be the reason?
Note: The final success message for that pass1 has to be:
+ mkdir -pv /mnt/lfs/var/lib/pkg/DB
mkdir: created directory '/mnt/lfs/var'
mkdir: created directory '/mnt/lfs/var/lib'
mkdir: created directory '/mnt/lfs/var/lib/pkg'
mkdir: created directory '/mnt/lfs/var/lib/pkg/DB'
=======> Building '/home/lfs/MakeNuTyX/CHROOT/cards/Pkgfile' succeeded.
Note: at the time of ArchPup, I did try one time the same without difficulty probably because ArchPup did use more stuff from Arch as usual Puppy from Ubunutu?