Aboriginal Linux as a Puppy Pet and Puppy

A home for all kinds of Puppy related projects
Message
Author
scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#16 Post by scsijon »

bark_bark_bark wrote:I have tested this set of scripts to build a distro for the m68k arch, so i have a lightweight linux to run in ARAnyM.

The end result, these two files:

Code: Select all

./
./hda.sqf
./vmlinux
In the lilo section of my custom aranym config what do i put?

What I currently have:

Code: Select all

[LILO]
Kernel = vmlinux
Args = 
Ramdisk = 
bark_bark_bark, I think you only need to put hda.sqf in the Args= line. and vmlinux should start it, alternately if that doesn't start it try Args=switch_root hda.sqf. Do you have any error messages that may help?
I don't use lilo anymore and haven't seen a M68K box for some time, my old mica was scrapped some years ago.

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#17 Post by scsijon »

@goingnuts, apparently there is a switch you can do in the aboriginal build line that works against toybox/busybox that allows you to tell the system which to use for common commands. When I find it again i'll add it in here.

Also, Rob sugests to download and look at the 'Linux From Scratch build control image', as it has a lot of what we seem to want, it's not small though and the download bandwith is slow, at least from here in australia.

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#18 Post by Ibidem »

scsijon wrote:@goingnuts, apparently there is a switch you can do in the aboriginal build line that works against toybox/busybox that allows you to tell the system which to use for common commands. When I find it again i'll add it in here.
That's BUSYBOX=1; it turns on busybox defconfig.

bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#19 Post by bark_bark_bark »

scsijon wrote:
bark_bark_bark wrote:I have tested this set of scripts to build a distro for the m68k arch, so i have a lightweight linux to run in ARAnyM.

The end result, these two files:

Code: Select all

./
./hda.sqf
./vmlinux
In the lilo section of my custom aranym config what do i put?

What I currently have:

Code: Select all

[LILO]
Kernel = vmlinux
Args = 
Ramdisk = 
bark_bark_bark, I think you only need to put hda.sqf in the Args= line. and vmlinux should start it, alternately if that doesn't start it try Args=switch_root hda.sqf. Do you have any error messages that may help?
I don't use lilo anymore and haven't seen a M68K box for some time, my old mica was scrapped some years ago.
neither works, I looked in the terminal window for any info that aranym may spit out, but nothing useful.
....

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#20 Post by Ibidem »

bark_bark_bark wrote:I have tested this set of scripts to build a distro for the m68k arch, so i have a lightweight linux to run in ARAnyM.

The end result, these two files:

Code: Select all

./
./hda.sqf
./vmlinux
In the lilo section of my custom aranym config what do i put?

What I currently have:

Code: Select all

[LILO]
Kernel = vmlinux
Args = 
Ramdisk = 
This may be helpful...
http://wiki.aranym.org/afs/setup_linux
http://oreilly.com/linux/excerpts/97805 ... rence.html

The kernel has no idea what hda.sqf or anything else on the host filesystem is; it must be configured as a drive.

If hda.sqf is set up as a hard drive, I'd imagine you need:
kernel = vmlinux
args = root=/dev/hda

Though the device name is not for sure (I assume hda.sqf is a squash file)
You may need to specify rootfstype=squash (don't know the correct name!) as well.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#21 Post by goingnuts »

That's BUSYBOX=1; it turns on busybox defconfig.
Ibidem:Thanks - I will try that.

Using chroot-environment for the below testing (i486):
Tried to compile packages needed to populate an puppy-like initrd.gz -
fileutils-4.1, disktype-9, e2fsprogs-1.40.2, elspci-1.0, findutils-4.1.20,
guess_fstype_withext4_test1, util-linux-2.13-pre7, busybox-20100217, ntfs-3g-2009.3.8


and fuse-2.6.0 - but thats not building yet...I cant get kernel headers installed correctly for fuse-build to run.

Then tried to build some of the tools needed to construct initrd & the iso-image:
mksquashfs30, lzma & mkisofs

mksquashfs builds ok, lzma I havent tried yet - and with mkisofs I am stuck:
cdrkit-1.1.10 drags in libcap (which cries for perl but that can be patched out) and cmake which fails building.
Then tried to build cdrtools-1.10 but that fails too.
Then tried mkisofs-1.13 but that fails as well.

Guess its much easier to leave the construct of initrd and isoimage to be done with the host-tools - and use the toolchain to build the content...
Update 20130705: With BUSYBOX=1 I had to backport BB to busybox-1.20.2 to get host-tools build - and the toybox does not buil right. Downgraded kernel to 3.8 to get a clean patch of aufs - which is needed for a puppy-like boot. But now I have a kernel and an initrd.gz that are able to boot pupngo with-out any modules present in initrd.gz.
Last edited by goingnuts on Thu 04 Jul 2013, 15:21, edited 1 time in total.

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#22 Post by scsijon »

@goingnuts.
Have a look at buildroot. My thoughts have changed after some investigating, and i'm thinking of using it as the stage for this instead of woof2 as it is cross-platform already. I've emailed the developer about adding headers and the like needed for developing into the final product, which it doesn't do at present, so aboriginal and it's ability to cross-compile should become selfcontained.

I'd also like to use busybox's mdev to populate /dev dynamically. It needs a few kernel switches and 3.9.x + which shouldn't be a problem as I was considering 3.9 as the minimum kernel stream anyway. Rob does have an extended version for toybox, but it is still giving him greaf at present.

well see!

ps also worth having a look at musl-libc, it's tiny!

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#23 Post by Ibidem »

scsijon wrote: I'd also like to use busybox's mdev to populate /dev dynamically. It needs a few kernel switches and 3.9.x + which shouldn't be a problem as I was considering 3.9 as the minimum kernel stream anyway. Rob does have an extended version for toybox, but it is still giving him greaf at present.

well see!

ps also worth having a look at musl-libc, it's tiny!
mdev needs 3.9+ ? News to me, since I've only once booted such a kernel and I use mdev a bit.
AFAICT, 3.8+ is needed IF you want to load modules that need >1 firmware files (eg, radeon).
Otherwise, even kernels older than 2.6.32 can use mdev.

Re musl-libc: that's what this thread (in Programming) is about.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#24 Post by goingnuts »

I did try buildroot some time back but with limited success - Its ok to build a buildroot-system but at least at that time too complex for me to build a puppy-like system.
I do like the Aboriginal Linux approach and I haven't meet a total show stopper yet. I got pupngo2012 main-sfs booted with kernel 3.8 and an Aboriginal Linux-build initrd.gz and all hardware recognized...qemu and on real hardware.
I reuse simple build scripts used to build pupngo that I also have used with diet libc, musl and uclibc.
If a minimal all Aboriginal Linux build i486 can be build next task is to try same build for a different architecture - and there I have absolutely no experience :D

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#25 Post by Keef »

I am way out my depth here, but I know that 4M Linux (core) boots with just a kernel, Busybox, and libc, libm, & libd. Uses mdev.- excerpt from rcS script below:

Code: Select all

# ************
# DEVICE NODES
# ************
 busybox echo "The item DEVICE NODES is being processed..."
 if [ -e /restart.log ]; then
   busybox mount -o remount,rw /
 fi
 cd /dev
 busybox mdev -s
 busybox mknod ppp c 108 0 2>null
 busybox mknod js0 c 13 0 2>null
I play with this from time to time, replacing kernel and libs with ones from Puppy, so I can re-invent the wheel. Usually add goingnuts and Techno's static progs to get a GUI. Works with the 2.6.25.6 kernel from 412, and I may have done it with an earlier one, but not sure.
Back to lurking now...

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#26 Post by scsijon »

@ibidem, to get the new functions for mdev I was advised "you need at least 3.9.x as there are kernel settings needed to be implemented to allow the dynamically creation the /dev device interfaces using a mdev type package".

Also, I noted (pre any kernel building) that there was in 3.10.x's origonal specs a comment on the idea of also allowing the /dev devices to be dynamically destroyed on shutdown as an extension of the 3.9.x creation patch. Mind you, I have no idea at what stage this is at this point.

regards

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#27 Post by scsijon »

goingnuts wrote:If a minimal all Aboriginal Linux build i486 can be build next task is to try same build for a different architecture - and there I have absolutely no experience :D
And that goingnuts is what I am heading towards. So far so good between i486/i686/x86_64, I did expect that to go ok. I am resurecting one of my old M68k boxes and some of my 'strange' multi-processor systems to try with next.

I have a few ideas, questions and requests in with buildroot's maintainer at present. Depending on his answers and thoughts from my requests, will depend on how much it can be used, else I shall revert to a woof2 style structure, which can work but will need a few format and file structure additions and script changes to allow it to deal with the changes between different output formats.

I am also looking at musl-libc to replace libc, it's tiny, however that will need quite a few user application pet's and dependancies being totally recompiled to be useable, so is not considered important at this stage.

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

#28 Post by technosaurus »

The old hotplug script method is a suitable alternative to mdev. The only reason they were replaced was that they started getting slow. The reason they started getting slow was mostly due superfluous unnecessary calls to run external binaries like sed, grep, awk... Most of them can get extremely fast if you use the techniques that amigo and I posted for speeding up shell scripts... though with a properly built current busybox (standalone shell, exec prefers applets and run nofork applets directly) many speedup techniques arent as necessary ...btw most of these busybox features were not available till after udev had taken over.
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].

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#29 Post by scsijon »

thank you technosaurus for that, I shall have a look at them.
--
I have what I class as a stopper with using buildroot as I wanted it to include its development files in the build. However an email to it's maintainer Peter Korsgaard, he has replied with:
scsijon> Any chance that buildroot may have a 'switch' to make the development
scsijon> files (compiler, header files, etc.) appear in the target.

We used to have that (BR2_HAVE_DEVFILES), but it has been deprecated for a while and has recently been completely removed.
He seems disinterested in putting it back in, and as it's a requirement for what I want to do, I am going to drop buildroot at this point and start to follow another idea that may work as just a stage1starter and with aboriginal becoming stage2 in it's own right and doing what it does best.

So things might be a bit quiet from me here while i work it out as i'm a slow thinking scripter!

However anyone is quite free to use this thread in the meantime to air and play with ideas with aboriginal.

regards
scsijon

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#30 Post by PANZERKOPF »

BusyBox mdev was improved since 1.21.1 of version.
Now some useful variables (like SUBSYSTEM, DEVPATH, DEVNAME ) can be used in configuraton file.
Attached tarball contains an example (parts of my sysinit scripts):
Attachments
mdev-PZ.tar.gz
(34 KiB) Downloaded 259 times
SUUM CUIQUE.

Post Reply