Saluki, Puppy Remastered

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#41 Post by technosaurus »

I wanted to start off with the latest version of busybox with all patches - I finally figured out how to add an applet properly so I added a small mp3 player to test it out. Compiled against glibc for now -- spent too much time figuring out how to busybox an applet.
Attachments
busybox-1.17.2-minimp3.patch.gz
(21.96 KiB) Downloaded 783 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#42 Post by Iguleder »

Here's my SFS linker, from my own distro. Just read the code ... it's very easy to understand. I use it with 100+ SFS extensions.

It's very very easy to implement something similar for Puppy ... just a script that checks how many SFSs you have, if you have more than 8 it uses linking instead of layers.

btw: this WILL ruin your system, Puppy is not supposed to do things this way. Don't use it unless you know what you're doing.

(a gzipped Bash script)
Attachments
loadsfs.gz
(935 Bytes) Downloaded 738 times
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#43 Post by bigpup »

I see a need to make two versions.
One with the latest kernel and bleeding edge programs for newer computers. Multicore, high end video cards, etc.
One for old computers that do not seem to be supported by the newer kernel's.
Several times, people trying to use Lucid Puppy 5.1.1 on older hardware, are finding they need to go back to older version of Puppy to get them to work.

big_bass
Posts: 1740
Joined: Mon 13 Aug 2007, 12:21

#44 Post by big_bass »

technosaurus
I wanted to start off with the latest version of busybox with all patches

I do agree that having a correctly configured busybox is needed

@technosaurus I will welcome all your apps if you provide sources or links
to the configure options used there are just a few of us that plan to build
we have to start out well documented and have the ability to repeat the final outcome of any app compiled from the get go


I am a bit uncomfortable thinking about adding a CLI mp3 player code to the first 2800 lines to an app as critical as busybox ( I tend to be a bit conservative with things nothing personal )



that may be needed for some micro embedded system
but not required for a light weight fully functional distro
since most people will use VLC,Mplayer,gxine ,Xmmms ,xhippo and others

**thanks in advance for posting the sources / config options
hmm that gave me a thought could we have another thread for packages
offered to the source build it would be much easier to locate stuff as we go
all in one place

Joe
Last edited by big_bass on Thu 09 Sep 2010, 14:02, edited 1 time in total.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#45 Post by Aitch »

I would agree with bigpup

Does anyone else notice there were 'milestone' versions of stable/working Puppy, e.g. 1.09, 2.14R1.01, NOP, 4.12, 4.31 ....

Even ttuuxxx's 2.14X doesn't run on some old hardware that 214R101 [my fallback] runs on, and look at the work he's put into that!

We need a new milestone, and I feel it spawning :wink:

Aitch :)

big_bass
Posts: 1740
Joined: Mon 13 Aug 2007, 12:21

#46 Post by big_bass »

Iguleder

I just noticed today that you have an interest in package management
you wrote code for a thingy manager interesting

I spent a lot of time writing a GUI front end to slackwares pkgtools
and it is 100% compatible on the official slackware or on TXZ pup
called slaxer_pkg_tools2.2
http://pastebin.com/kYUcMhSx


Joe

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#47 Post by jemimah »

How old of a computer is it reasonable to try to support? At what point do we give up on older hardware?

Image

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#48 Post by Aitch »

LOL Good call, jemimah

However it's not the failure rate on a lot of my old hardware that bothers me....it's the electricity bill!

Old scsi server boxes run wonderfully but you can almost cook on 'em, they need loadsa room, and damn, they're noisy :lol:

Anyone know what happened to Ted dog and his T2 cross compile efforts?

Anyone get a VIA 8505/Eken M001 iPad clone running puppy?....Android's running away with it, atm

They'd be a bit more economical, I suppose....and they're less than $100

http://www.alibaba.com/trade/search?Sea ... t_en&fsb=y

Aitch :)

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#49 Post by technosaurus »

@bigbass
I compiled busybox to include the config options. Just run

Code: Select all

bbconfig >my_dot_config
The patch to add minimp3 is already attached in my previous post (and I posted the patch to the busybox mail list)

I understand your point about people using full media players, but I think that at least during development, it is a good idea to have a method of testing that all your piece/parts work including sound, especially if we are going to have a minimal base install. (I do have a separate build of minimp3 though and it is only ~31kb) It would suck to be weeks/months into development and figure out that sound was broken. I'm not 100% sure, but I think that the busybox beep applet uses the pc speaker, so it wouldn't be a good test.

Re:pkgtools - do you have a good reference for putting the build info in the proper format ... and does it work with Amigo's src2pkg?
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
dejan555
Posts: 2798
Joined: Sun 30 Nov 2008, 11:57
Location: Montenegro
Contact:

#50 Post by dejan555 »

Puppy from scratch sounds good. I support that.
If you go that way I will surely join testing. 8)
puppy.b0x.me stuff mirrored [url=https://drive.google.com/open?id=0B_Mb589v0iCXNnhSZWRwd3R2UWs]HERE[/url] or [url=http://archive.org/details/Puppy_Linux_puppy.b0x.me_mirror]HERE[/url]

big_bass
Posts: 1740
Joined: Mon 13 Aug 2007, 12:21

#51 Post by big_bass »

@bigbass
I compiled busybox to include the config options. Just run
Code:
bbconfig >my_dot_config
Thanks for the quick response is there another way to run that code you posted without installing the new busybox ?

if not could you pastebin it please when you have the time ?

Re:pkgtools - do you have a good reference for putting the build info in the proper format ... and does it work with Amigo's src2pkg?
any package slackware compatible will work to build with tgz ,txz ,tlz ,tbz

there are also two dragNdrop scipts to make a slack-desc automatically and
and to make TXZ or tgz packages

and yes of course I am compatible with amigo's src2pkg I have had interest in his tools since puppy linux version 3.01 and was the first to get src2pkg running on puppy of course thanks to his help and advice it has become a backbone
to building packages there is also a GUI config tool I wrote for it
its isnt required its just handy add on to have when doing many complies

GUI for the configuration of packages for src2pkg
http://www.murga-linux.com/puppy/viewto ... h&id=26243

original post
http://www.murga-linux.com/puppy/viewto ... 90&t=51197

Joe

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#52 Post by technosaurus »

@BB re:bb - sure... I'll gzip the .config and post it when I get home this evening (it is basically an allyesconfig without pam, selinux, rfkill or debugging and includes the "full" versions of modutils ... basically setup to include as many desktop tool replacements as possible not for the initrd)
Attachments
ht21_1.gif
jemimah's bathtub curve translated into kernel driver support
(5.23 KiB) Downloaded 1383 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

how old

#53 Post by raffy »

To the question "how old (hardware to support)", one may say "Pentium III", but the challenge is more of supporting alternative low-power configurations. In this regard, we have the xcore86 (edubook, which Barry said is OK with the latest kernel in Wary 070), also the VIA Unichrome and AMD Geode GX/LX, among others.
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

Re: how old

#54 Post by technosaurus »

raffy wrote:To the question "how old (hardware to support)", one may say "Pentium III", but the challenge is more of supporting alternative low-power configurations. In this regard, we have the xcore86 (edubook, which Barry said is OK with the latest kernel in Wary 070), also the VIA Unichrome and AMD Geode GX/LX, among others.
All of those should work with -march=586 - the only 486 platforms readily available and fast enough to comfortable run are the vortex86 and some of those don't even work with the standard puppy 486 build (vortex86sx don't have a fpu - similar to the 486sx) ... the -march=i486

Edit - Busybox patches added + an additional patch that will alias waitmax to busybox's timeout applet... there are a couple of differences though
  • # timeout --help
    BusyBox v1.15.0.svn (2009-07-25 18:23:53 GMT-8) multi-call binary

    Usage: timeout [-t SECS] [-s SIG] PROG [ARGS]

    Runs PROG. Sends SIG to it if it is not gone in SECS seconds.
    Defaults: SECS: 10, SIG: TERM.

    # waitmax --help
    Usage: waitmax [-s SIGNUM] MAXTIME PROGRAM [ARGS...]

    Execute PROGRAM as a subprocess. If PROGRAM does not exit before MAXTIME
    seconds, it will be killed with SIGTERM or an alternative signal.

    -s, --signal SIGNUM kill with SIGNUM on timeout
    -h, --help this help
    -V, --version show version an exit
It should mean minimal rewrite to the init script... or would it be better for me to just add waitmax to busybox?
I am trying to minimize the number of binaries required in the initrd, preferably down to just busybox for faster boots. Now that I know how to add an applet, its just a matter of condensing the code into one .c file (waitmax already is) and editing about 4 other files. (I wonder if sqlite's amalgamation script could help make the process easier, or if it is sqlite specific?)
Attachments
busybox-technosaurified.tar.gz
(47.19 KiB) Downloaded 330 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#55 Post by mavrothal »

technosaurus wrote:I'll gzip the .config and post it when I get home this evening (it is basically an allyesconfig without pam, selinux, rfkill or debugging and includes the "full" versions of modutils
Mobile computing devices are really expanding and rfkill would be nice to include. Also debugging would be useful. At-least at the early stages of the project.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#56 Post by jemimah »

I agree about rfkill. I believe the kernel bug that plagued Barry's Acer has been fixed by 2.6.33. I build my kernels with rfkill (even Fluppy) and so far no one's complaining.

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#57 Post by linuxcbon »

What about removing unused users and groups in /etc/group gshadow etc .

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#58 Post by technosaurus »

jemimah wrote:I agree about rfkill. I believe the kernel bug that plagued Barry's Acer has been fixed by 2.6.33. I build my kernels with rfkill (even Fluppy) and so far no one's complaining.
I need to upgrade to a different kernel so that rfkill.h is available in order to make it compile.

I will add rfkill when I rebuild it in aboriginal, but for the time being I am busyboxing the other programs that are used in the initrd. So far I got:
guess_fstype working (still needs some busybox code tweaks)
fusermount condensed down to a single C file so it is pretty close
identified timeout as a replacement for waitmax

I am also considering the rest of the binaries in initrd that aren't already available in busybox (those can be replace already with some code modifications borrowed from tinycore/slitaz)

other possible busybox applets:
autologinroot
suggestions?

Note: So far I can get everything to work and compile as an applet, usually with warnings due to duplicated/differing code from busybox. Denys Vlasenko sent me some advice back to reduce the warnings (and thus code size as well) but I can't actually code in C, so it takes me a while to easter egg the correct fixes. If anyone has time to do some C it would help out a lot and your work could end up getting included upstream in busybox proper. I have set up a 4 stage process to accomplish this - kindof a busybox staging area.
Stage 1: gather all of the files that a program needs to build into one folder. such that it will build with gcc *.c -o <applet>
Stage 2: condense all of the files into a single C file (similar to the sqlite amalgamation) that will successfully compile with a simple gcc -o <applet> applet.c
Stage 3: tweak the includes section of the C file to use libbb.h and tweak about 4 *.src files in busybox to try and build it (correcting errors until it builds)
Stage 4: once an applet builds - it goes here for code formatting and fixes (use busybox functions where possible and remove unnecessary code)

I plan to do this a little different than my last tarball - rather than one large patch, I'll split them out by applet and include the <directory>/<applet>.c file and a small patch for the few modifications. This will make it easier to apply to later versions.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
clarf
Posts: 613
Joined: Wed 13 Jun 2007, 19:22
Location: The old Lone Wolf

Re: how old

#59 Post by clarf »

technosaurus wrote:To the question "how old (hardware to support)", one may say "Pentium III", but the challenge is more of supporting alternative low-power configurations. In this regard, we have the xcore86 (edubook, which Barry said is OK with the latest kernel in Wary 070), also the VIA Unichrome and AMD Geode GX/LX, among others.
All of those should work with -march=586 - the only 486 platforms readily available and fast enough to comfortable run are the vortex86 and some of those don't even work with the standard puppy 486 build (vortex86sx don't have a fpu - similar to the 486sx) ... the -march=i486
I know ttuuxxx still compiles software with -march=i386. I don´t want to start another debate for this but I think it should avoided for future Puppy releases, the older platform to point should be 486 as minimum (and even this architecture is too old to be considered, I haven´t seen any functional/active pre-pentium system from long time ago).
technosaurus wrote: It should mean minimal rewrite to the init script... or would it be better for me to just add waitmax to busybox?
I am trying to minimize the number of binaries required in the initrd, preferably down to just busybox for faster boots. Now that I know how to add an applet, its just a matter of condensing the code into one .c file (waitmax already is) and editing about 4 other files. (I wonder if sqlite's amalgamation script could help make the process easier, or if it is sqlite specific?)
technosaurus, In Puppy 214R, Dougal removed many busybox applets and modified the init script, it´s a good example of size reduction that you should look.

It´s very hard to remove any applet that is not actually used by init script, anyway I think a review for init is necessary.

For example he removed the "expr" applet and replaced the implicated code in favor of the "let" builtin function. That´s seems also a faster function.

clarf

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

Re: how old

#60 Post by technosaurus »

clarf wrote:I know ttuuxxx still compiles software with -march=i386.
As do I - when the speed of the program is inconsequential, because it does typically produce smaller code especially if combined with -mpreferred-stack-boundary=2 and some other flags.

It is perfectly acceptable to lower the architecture for a build (because it will still run on all systems that run on the standard higher architecture), but if you go above the standards set as the norm, it should be annotated. Some areas where a higher architecture would be acceptable are encoders/decoders etc... where a drastic improvement is gained or performance on the lower architecture is deemed to be unacceptable (I don't know of any that meet the latter for 586 but for 486 there are many)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Post Reply