Squashfs with gcc, binutils, glibc & make for puppy

News, happenings
Post Reply
Message
Author
Guest

Squashfs with gcc, binutils, glibc & make for puppy

#1 Post by Guest »

Hello fellow puppiests (is that right)


As a proof of concept I decided to give my idea a go of creating a squashfs filesystem with some very very very basic development tools....

Based on the sources and instructions from Linux From Scratch 5.1 it contains the following

filename opttools.sfs
size 54024K

  • 1. binutils-2.14
    2. dejagnu-1.4.4
    3. diffutils-1.4.4
    4. expect-5.41
    5. findutils-4.1.20
    6. gawk-3.1.3
    7. gcc-3.3.3
    8. gettext-0.14.1
    9. glibc-2.3.3-lfs-5.1
    10. grep-2.5.1
    11. linux-headers-2.4.26
    12. make-3.80
    13. ncurses-5.4
    14. patch-2.5.4
    15. perl-5.8.4
    16. sed-4.0.9
    17 tcl8.4.6
    18 textinfo-4.7



Upadte
Just used this configuration to compile a kernel.

Like I said it is a proof of concept at the moment, and I don't expect to compile anything that uses any other libraries than those contained in glibc. What it should let you do is compile some very very console apps....Probably anything that you would find in an introduction to C programming guide...
As a test I mount the filesystem at /opt/tools (it cannot be mounted anywhere else in the filesystem) and compiled and executed the de-riguer "hello world app".
At the moment the squashfs file is about 54 - 55 meg all binaries and libs have been stripped and most docs removed.
What I envision is that all libs,includes and utilities required to compile apps and a kernel would be included so that a development platform is created that should not (?) affect Puppy.The beauty, to me anyways, of doing it this way is if you are running a hd install or running from a live cd you should be able to compile apps, providing you have enough writable disk space.
This is my first attempt at doing something such as this and I would like to hear from some more knowledgable Puppy users who would like to help in testing.
Last edited by Guest on Sun 10 Jul 2005, 09:25, edited 1 time in total.

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#2 Post by BarryK »

Bladehunter,
Don't forget that if you create a squashfs file called opt_cram.fs, and place it in the same place as usr_cram.fs or in the places Puppy looks for usr_cram.fs, then Puppy will automatically mount it on /opt.
You may have to check the code that does that, i think it is in /etc/rc.d/rc.sysinit, or rc.local0.

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#3 Post by GuestToo »

mounting squashfs files on /opt will also break some programs like xmms and mplayer and eboard chess, which put symlinks in /opt ... making /opt writable again by using unionfs will fix the problem

Guest

#4 Post by Guest »

As a test I mount the filesystem at /opt/tools (it cannot be mounted anywhere else in the filesystem)

You did mention that before that's why I went for /opt/tools rather than /opt.

Now hopefully that shouldn't break anything from other packages

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#5 Post by BarryK »

So maybe rc.sysinit could look for a file named "opttools.sfs" and mount it on /opt/tools/ at bootup?

Note, I suggest a filename "opttools.sfs" as want to keep it in the 8.3 format, as a cd burned without rockridge or joliet extensions will have this limitation -- well I can't remember exactly, but I do recall getting this limitation when using cdrecord under certain circumstances.
The extension ".sfs" meaning "squash-file-system".

Just a thought.

Guest

#6 Post by Guest »

yep that would work nicely...


The only thing is the opttools.sfs could end being larger than usr...


BTW Do you have a list of the core libraries and versions Puppy uses....I'd like to put them all in opttools.sfs so compiling apps will be seamless..I know it will duplicate alot of what's in /usr already but then again it could be mounted in any system supporting squashfs to compile for puppy....A sort of portable development enviroment for puppy. Just a thought

Guest

#7 Post by Guest »

Update..again

Added m4-1.4
bison-1.8.75
flex-2.5.4a
textinfo-4.7
autoconf-2.5.4
automake-1.8.4
libtool-1.5.6
motor-3.4.0

Motor is an IDE for C,C++,Java and Perl projects, which was compiled natively on Puppy......It is the IDE installed with Vector Linux if anyone has used that..

Hoping to get to a stage where GTK apps can be compiled....

Whilst I know the package is growing I was thinking of releasing a base package (gcc,binutils,make) and if it is used in conjunction with unionfs or copied to a writeable media, either hdd or flash, the rest could be installed via dotpups. I suppose if it is on flash it could become a portable plugin development enviroment for producing puppy apps.Barry has the final say of what goes in and what goes out, but then if one runs RedHat, Mandrake,Debia or whatever the tools and libs are there to compile for puppy without affecting your other installation and with sound knowledge that the compiled apps will run on puppy no questions

PeterSieg
Posts: 363
Joined: Wed 04 May 2005, 16:06
Location: Germany, 37603
Contact:

Great idea and great work!

#8 Post by PeterSieg »

Hi, just want to say 'keep going' in that direction!
I think a ready to mount development file system is great!
I would not bather that much about space and want has to be left out...
You will NEVER fullfil everybodys needs.. :lol:
To my opinion, it should contain everything needed to compile the kernel,
command line apps and X-apps with and without GTK. So mostly all,
that is needed to compile the apps that are within Puppy.
Only special things could be left out...

The mount of opt_cram.fs is in rc.syslinux. I was experimenting with
that option myself. I believe Puppy looks for that at the same places,
where it looks for the pup001 file...

PS

BTW: My vacation starts in app. 10 days. Besides that, I am willing to
test.
Have fun :)

Guest

#9 Post by Guest »

Project is canned and no longer being supported.

Post Reply