Developing FirstRUN for Puppy CD's initial boot
Been away a couple of days so missed these.
I wasn't really looking for a different solution or method of booting.
No, I was simply trying to polish up the existing Puppy startup.
It always seems to me that whenever I show anyone who is used to Windows the Puppy system, they shy at seeing a text startup.
I wasn't really looking for a different solution or method of booting.
No, I was simply trying to polish up the existing Puppy startup.
It always seems to me that whenever I show anyone who is used to Windows the Puppy system, they shy at seeing a text startup.
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)
-
The moment after you press "Post" is the moment you actually see the typso 8)
the animation splash screen is good i think
can you give us the tutorial how to do that?
i'm sorry, but in my oppinion, text mode is better.
when i show my lupu528 to my friend, he is very like it because it's like a proffessional hacker mode on. he has been looking to the walking text like:
searching puppy file . . . and then Done
loading luci528.sfs . . . Done
bla bla bla . . . . Done
it's like the matrix's effect.
and i'll say..
so, the text mode when starting puppy is better than splash screen animation, i think..
i'm sorry, it's just my oppinion.
can you give us the tutorial how to do that?
i'm sorry, but in my oppinion, text mode is better.
when i show my lupu528 to my friend, he is very like it because it's like a proffessional hacker mode on. he has been looking to the walking text like:
searching puppy file . . . and then Done
loading luci528.sfs . . . Done
bla bla bla . . . . Done
it's like the matrix's effect.
and i'll say..
so, the text mode when starting puppy is better than splash screen animation, i think..
i'm sorry, it's just my oppinion.
Hi recobayu,
No problem, everyone has their own opinion.
I too like the text startup BUT the average Windows user has never seen one, so it unsettles them when the text pauses.
As to making the animation, well it's the 'Pebble' server by pizzasgood with a series of single frame pictures played at 20 frames per second. It uses the framebuffer at startup with a grub menu.lst change to graphic mode.
For Puppy regular users there is a getout 'nosplash' which disables frames and displays text at startup.
It requires quite a bit of hacking to the initrd.gz and the Puppy startup scripts.
'Pebble' is in the Additional Software/Unsorted section of forum.
Please be aware that I do not have it running how I like. On my machine because of the grub parameter it will startup OK but at shutdown the text is masked, which leaves you blind as to what is happening.
I made an iso Live CD with 5.2.9 on it which starts and runs. It does pause for the usual start messages between animation but I've yet to get it to shutdown properly and during shutdown display the 'savefile' messages. It is doing it, but in the masked background processing.
No problem, everyone has their own opinion.
I too like the text startup BUT the average Windows user has never seen one, so it unsettles them when the text pauses.
As to making the animation, well it's the 'Pebble' server by pizzasgood with a series of single frame pictures played at 20 frames per second. It uses the framebuffer at startup with a grub menu.lst change to graphic mode.
For Puppy regular users there is a getout 'nosplash' which disables frames and displays text at startup.
It requires quite a bit of hacking to the initrd.gz and the Puppy startup scripts.
'Pebble' is in the Additional Software/Unsorted section of forum.
Please be aware that I do not have it running how I like. On my machine because of the grub parameter it will startup OK but at shutdown the text is masked, which leaves you blind as to what is happening.
I made an iso Live CD with 5.2.9 on it which starts and runs. It does pause for the usual start messages between animation but I've yet to get it to shutdown properly and during shutdown display the 'savefile' messages. It is doing it, but in the masked background processing.
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)
-
The moment after you press "Post" is the moment you actually see the typso 8)
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
I posted my improved wait function that can indicate while process(es) run.
Mainly it is to improve boot speed by elimination of long sleeps or wait command
http://bashismal.blogspot.com/2011/10/s ... -wait.html
Mainly it is to improve boot speed by elimination of long sleeps or wait command
http://bashismal.blogspot.com/2011/10/s ... -wait.html
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].
techno*
You mentioned fbsplash in the Pebble thread. Have you any experience trying to run it ?
I've been trying for a few days but no joy.
I modded the init and added
but I suspect the paths are wrong.
It appears to be doing something behind the black screen I get when I use vga=785 without a splash pic to load. I got the same result when I made the wrong path using Pebble.
You mentioned fbsplash in the Pebble thread. Have you any experience trying to run it ?
I've been trying for a few days but no joy.
I modded the init and added
Code: Select all
/bin/busybox fbsplash -s /boot/splash.ppm -c -i /boot/fb.config -f /proc/fbsplash
It appears to be doing something behind the black screen I get when I use vga=785 without a splash pic to load. I got the same result when I made the wrong path using Pebble.
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)
-
The moment after you press "Post" is the moment you actually see the typso 8)
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Sounds like you need a modprobe fbcon in the init script ...puppy's has some quirky requirement for kms or something like that for it to get loaded and I am unsure at what part it occurrs
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].
Yep modeprobe already in there earlier on, I only posted the fbsplash activate line.
I'm sure it's related to what is loaded paths. I placed it in same position as working Pebble script. i.e just before "Loading Drivers needed to access disk drives" this way the proc etc have loaded.
I'm sure it's related to what is loaded paths. I placed it in same position as working Pebble script. i.e just before "Loading Drivers needed to access disk drives" this way the proc etc have loaded.
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)
-
The moment after you press "Post" is the moment you actually see the typso 8)
fbcon should be loaded after the framebuffer kernel modules are loaded .
It is [still] not set AFTER User Selected Modules but after Loading Kernel Modules .
fbcon.ko has to be loaded after framebuffer drivers at least for nvidiafb.ko &| nouveau.ko ; loading fbcon first did not work for me .
The Standard Puppy Kernel is configured without framebuffer drivers [both in kernel and as modules ] .
[ I wondered first why these framebuffer drivers are mentioned in the SKIPLIST of /etc/rc.d/MODULESCONFIG ???]
For busybox you have to watch out , that busybox might use /dev/fb/0 [ similar to its losetup applet using /dev/loop/[0-9] ] INSTEAD of /dev/fb0 .
tasmod , what does your fb.conf file looks like ?
It is [still] not set AFTER User Selected Modules but after Loading Kernel Modules .
fbcon.ko has to be loaded after framebuffer drivers at least for nvidiafb.ko &| nouveau.ko ; loading fbcon first did not work for me .
The Standard Puppy Kernel is configured without framebuffer drivers [both in kernel and as modules ] .
[ I wondered first why these framebuffer drivers are mentioned in the SKIPLIST of /etc/rc.d/MODULESCONFIG ???]
For busybox you have to watch out , that busybox might use /dev/fb/0 [ similar to its losetup applet using /dev/loop/[0-9] ] INSTEAD of /dev/fb0 .
tasmod , what does your fb.conf file looks like ?
Hi Karl,
the config is just defaults. Should it have more?
I've messed around so much i confused myself, so I've started again.
This is now what's in init in initrd.gz
This code is placed in same spot as the pebble code that worked.
There is also fifo pipes in /boot
EDIT:
Ah, the bulb came on in the brain. Of course, Pebble has a separate pet that adds the framebuffer files !
the config is just defaults. Should it have more?
Code: Select all
BAR_LEFT=312
BAR_TOP=550
BAR_WIDTH=400
BAR_HEIGHT=11
BAR_R=64
BAR_G=64
BAR_B=64
This is now what's in init in initrd.gz
Code: Select all
###################################################TASMOD FBSPLASH###
modprobe fbcon
mkfifo /tmp/fbsplash.fifo
/bin/busybox fbsplash -s /boot/puppy.jpg -c -d /dev/fb/0 -i /boot/fb.config -f /tmp/fbsplash.fifo
####################################################TASMOD FBSPLASH###
There is also fifo pipes in /boot
EDIT:
Ah, the bulb came on in the brain. Of course, Pebble has a separate pet that adds the framebuffer files !
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)
-
The moment after you press "Post" is the moment you actually see the typso 8)
Please make sure /dev/fb/0 exists in the initrd.gz
ls -alF fb*
crwxr--r-- 1 root root 29, 0 2011-06-22 15:59 fb0
I would mkdir the folder fb/ there and copy the already present [initrd-tree] ./dev/fb0 named as '0' into ./dev/fb/ additionally .
I have only experimented with the busybox fbset once on full installation and created
# ls -alF /dev/fb*
crw-rw---- 1 root root 29, 0 2001-02-27 17:58 /dev/fb0
crw-rw---- 1 root 5 29, 1 2002-04-16 03:49 /dev/fb1
crw-rw---- 1 root 5 29, 2 2002-04-16 03:49 /dev/fb2
crw-rw---- 1 root 5 29, 3 2002-04-16 03:49 /dev/fb3
/dev/fb:
total 28
drwxr-xr-x 2 root root 4096 2011-07-03 20:52 ./
drwxrwxr-x 15 root root 20480 2011-11-03 11:40 ../
lrwxrwxrwx 1 root root 6 2011-07-03 20:48 0 -> ../fb0
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 1 -> ../fb1
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 2 -> ../fb2
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 3 -> ../fb3
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 4 -> ../fb4
# file /dev/fb/4
/dev/fb/4: broken symbolic link to `../fb4'
for that purpose . Still Much Luck !
ls -alF fb*
crwxr--r-- 1 root root 29, 0 2011-06-22 15:59 fb0
I would mkdir the folder fb/ there and copy the already present [initrd-tree] ./dev/fb0 named as '0' into ./dev/fb/ additionally .
I have only experimented with the busybox fbset once on full installation and created
# ls -alF /dev/fb*
crw-rw---- 1 root root 29, 0 2001-02-27 17:58 /dev/fb0
crw-rw---- 1 root 5 29, 1 2002-04-16 03:49 /dev/fb1
crw-rw---- 1 root 5 29, 2 2002-04-16 03:49 /dev/fb2
crw-rw---- 1 root 5 29, 3 2002-04-16 03:49 /dev/fb3
/dev/fb:
total 28
drwxr-xr-x 2 root root 4096 2011-07-03 20:52 ./
drwxrwxr-x 15 root root 20480 2011-11-03 11:40 ../
lrwxrwxrwx 1 root root 6 2011-07-03 20:48 0 -> ../fb0
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 1 -> ../fb1
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 2 -> ../fb2
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 3 -> ../fb3
lrwxrwxrwx 1 root root 6 2011-07-03 20:52 4 -> ../fb4
# file /dev/fb/4
/dev/fb/4: broken symbolic link to `../fb4'
for that purpose . Still Much Luck !
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
here is a screeny of my ~2s booting kernel - It has almost everything but the essentials to get to X with jwm and rxvt so for most people it will be just a toy ... ironically that is why I made it - so my kids can't accidentally bork something up (can't mount drives or access any networks - just play games)
If anyone is interested I can post my .config and a tarball of the initramfs
The bzImage (from 2.6.32.50 source) is only 1437k including the builtin Xvesa, jwm and rxvt ... so it should even fit on a floppy. (really I could get it down to ~1mb with a busybox recompile with only needed applets -- and could cut resource usage to as low as ~4mb)
If anyone is interested I can post my .config and a tarball of the initramfs
The bzImage (from 2.6.32.50 source) is only 1437k including the builtin Xvesa, jwm and rxvt ... so it should even fit on a floppy. (really I could get it down to ~1mb with a busybox recompile with only needed applets -- and could cut resource usage to as low as ~4mb)
- Attachments
-
- microsaurus.png
- (51.11 KiB) Downloaded 2087 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].
That's very impressive technosaurus!
Shouldn't the "everything" on the first line of your post be "nothing"? Or do I need extra English lessons
Shouldn't the "everything" on the first line of your post be "nothing"? Or do I need extra English lessons
Would love to have something similar for my girlfriend's box, with just eth0 and a browser.... would liberate her from her technofear (and liberate me, the repair man)... ironically that is why I made it - so my kids can't accidentally bork something up (can't mount drives or access any networks - just play games)
[url=http://pupsearch.weebly.com/][img]http://pupsearch.weebly.com/uploads/7/4/6/4/7464374/125791.gif[/img][/url]
[url=https://startpage.com/do/search?q=host%3Awww.murga-linux.com%2F][img]http://i.imgur.com/XJ9Tqc7.png[/img][/url]
[url=https://startpage.com/do/search?q=host%3Awww.murga-linux.com%2F][img]http://i.imgur.com/XJ9Tqc7.png[/img][/url]
YES , go ahead !If anyone is interested I can post my .config and a tarball of the initramfs
The bzImage (from 2.6.32.50 source) is only 1437k including the builtin Xvesa, jwm and rxvt
AFAIK it is possible to adjust the paths in the kernel config like path to uevent(helper) or /sbin/init .
I had been not aware of the possibility to compile Xvesa and others into the kernel, too .
I know there is the embedded feature in make menuconfig .
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Ok here it is, Puppy in <1mb in a single bzImage
Resource usage in X with jwm running and an rxvt terminal open:
MEMUSAGEKB=5020 (with background) 2892kb without background image
Resource usage at the console:
MEMUSAGEKB=2288
I wanted to see how far I could go so I ended up disabling even proc and sys, (which breaks top and ps) so I needed a way to get memory usage. I also replaced busybox with dash and mount from embutils (sh is used by rxvt which also needs /dev/pts so needed to mount a devpts) and just for grins i wrote my own init in C . I could get the resource usage down under 2Mb if jwm were compiled with only X11 with maybe xpm support and used st instead of rxvt
here is the code I wrote for memused
here is my init code
I also commented this line in the kernel source (init/do_mounts.c) - the wait isn't needed here
Resource usage in X with jwm running and an rxvt terminal open:
MEMUSAGEKB=5020 (with background) 2892kb without background image
Resource usage at the console:
MEMUSAGEKB=2288
I wanted to see how far I could go so I ended up disabling even proc and sys, (which breaks top and ps) so I needed a way to get memory usage. I also replaced busybox with dash and mount from embutils (sh is used by rxvt which also needs /dev/pts so needed to mount a devpts) and just for grins i wrote my own init in C . I could get the resource usage down under 2Mb if jwm were compiled with only X11 with maybe xpm support and used st instead of rxvt
here is the code I wrote for memused
Code: Select all
#include <sys/sysinfo.h>
int main(int argc, char **argv){
struct sysinfo info;
sysinfo(&info);
printf("MEMUSEDKB=%d\n",(info.totalram - info.freeram)*info.mem_unit/1024);
}
Code: Select all
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>
//these could be functions but gcc complains less this way
#define EGGSACKWEIGHT(a) ({int s,p;if((p=fork())==0){execvp(a[0],a);}else{while(wait(&s)!= p);}})
#define SHIFTN(i,a) ({ int j=0;while(a[j] != NULL){a[j]=a[j+i];j++;}})
#define EGGSACK(a) ({if((fork())==0) execvp(a[0],a);})
int main(int argc, char** argv) {
//export PATH="/bin" HOME="/root" TERM="xterm /bin/sh" SHELL="/bin/sh" PS1="# " USER=root LOGNAME=$USER HISTSIZE=1000 HISTFILE="$HOME/.history" INPUTRC=/etc/inputrc
//setenv("PATH","/bin",1);
putenv("PATH=/bin");
putenv("HOME=/root");
putenv("TERM=xterm");
putenv("SHELL=/bin/sh");
putenv("PS1=#");
putenv("USER=root");
putenv("LOGNAME=root");
putenv("HISTSIZE=1000");
putenv("HISTFILE=/root/.history");
putenv("INPUTRC=/etc/inputrc");
char* X[99];
//mount devpts /dev/pts -t devpts
X[0]="mount";
X[1]="devpts";
X[2]="/dev/pts";
X[3]="-t";
X[4]="devpts";
X[5]=NULL;
EGGSACK(X);
//Xvesa -screen 640x480x16 -nolisten tcp -tst -I &
X[0]="Xvesa";
X[1]="-screen";
X[2]="640x480x16";
X[3]="-nolisten";
X[4]="tcp";
X[5]="-tst";
X[6]=NULL;
EGGSACK(X);
//script? ... try getenv("XINITRC") and getenv("HOME") + /.xinitrc
putenv("SHELL=/bin/sh");
putenv("DISPLAY=:0");
X[0]="jwm";
X[1]="-display";
X[2]=":0";
X[3]=NULL;
EGGSACKWEIGHT(X);
X[0]="killall";
if (argc>1) {
X[1]="Xvesa"; //see above... maybe change to X
}else{
X[1]="Xorg";
}
X[2]=NULL;
EGGSACK(X);
X[0]="sh";
X[1]=NULL;
EGGSACKWEIGHT(X);
}
Code: Select all
//wait_for_device_probe();
- Attachments
-
- microsaurus.jpg
- (12.26 KiB) Downloaded 1937 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].
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth
techno
Would I be right in saying microsaurus is only for playing games/videos?
Is it potentially useful as a puppy rescue tool on a floppy? i.e. can mount drives/partitions or edit/copy/paste things be added? Can any network/browser be added?
Do we just write/copy the image to floppy?
I like the sound of 1/2 second boot....
Aitch
Would I be right in saying microsaurus is only for playing games/videos?
Is it potentially useful as a puppy rescue tool on a floppy? i.e. can mount drives/partitions or edit/copy/paste things be added? Can any network/browser be added?
Do we just write/copy the image to floppy?
I like the sound of 1/2 second boot....
Aitch
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth
This is a kernel with embedded root filesystem so it always boots "as frugal".nooby wrote:Yes would be cool if you can make something like a rescue thing
for USB and CD/DVD but I don't mind if it works as frugal install on HD
You can boot it from any device supported by BIOS and bootloader.
SUUM CUIQUE.
@Techno
that's impressive for getting something booted in a box.
Now, could this be extended to a need (practical one) where I need a router service which runs the following fron X-desktop
This is the smallest useful application platform I could think of for using a small system. (The web server is optional.)
Hmmm...
edited: (even though I envision practical use, to do this is probably not possible)
that's impressive for getting something booted in a box.
Now, could this be extended to a need (practical one) where I need a router service which runs the following fron X-desktop
- DNSMASQ
- Web server
- full SAMBA server
This is the smallest useful application platform I could think of for using a small system. (The web server is optional.)
Hmmm...
edited: (even though I envision practical use, to do this is probably not possible)