Where do I find Documentation/kernel/bootloader.txt?

A forum for general AmigaOS 4.x support questions that are not platform-specific
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Hypex »

broadblues wrote:It *doesn't say* the name allows you to "configure" the bootloader, which is how you seem to be trying to read it.
That would be because it referred to another file which indicated it could be configured called bootloader.txt and also said configuration in the bootloader tool, rather than say a Kickstart configuration for the bootloader tool.
I'm sure it could be reworded to make it clearer still, how would you word it?
I'd remove the missing bootloader.txt reference for a start. Even pointing to the wiki could be a good idea. But to paraphrase myself for starters:

Code: Select all

; Each Kickstart configuration starts with the LABEL keyword, followed by the
; name of the configuration.  The label name can be used to specify each
; configuration for the bootloader tool which is made up of specified Kickstart 
; modules in the format below. Each configuration with its associated Kickstart 
; modules is displayed as a labelled menu entry in the bootloader.
Last edited by Hypex on Mon Sep 04, 2017 4:24 pm, edited 2 times in total.
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Hypex »

tonyw wrote:I don't really understand your difficulty. You've had an XE now for all these years, yet you've never edited the Kicklayout before now?.
Oh I have edited a Kicklayout. Wouldn't be able to boot my three XE volumes without it. LOL. :-D

My only difficulty is that darned refererence to that bootloader.txt file. Until I come across I thought I had a firm understanding of a Kicklayout. It just gave me the impression there was more than meets the eye and AmigaBoot/SLB could be given some extra parameters. However as discussed this isn't the case.

Your link to the wiki interests me. Particularly this:

Code: Select all

SLB/AmigaBoot analyses all Amiga partitions on the system disk. It reads each system configuration it finds on the partition and displays them all for the user to select one to load. AmigaBoot (not SLB) also displays configurations from Kickstart/Kicklayout files on every "bootable" partition. The user can define many different kickstart configurations to choose from. Also both AmigaOS and Linux can be selected for boot.
I take it this means only SLB can be used to select Linux to boot?
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1479
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by tonyw »

Hypex wrote:I take it this means only SLB can be used to select Linux to boot?
You are right in that AmigaBoot can't AFAIK load Linux. I don't know how SLB works (we don't have the sources), but on the X1000 and later, Linux is loaded by the BIOS, CFE or U-Boot.
There are whole forums on this board devoted to booting Linux and/or OS4 on X1000 and X5000, using CFE/U-Boot. They use built-in BIOS commands.
cheers
tony
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Hypex »

tonyw wrote:
Hypex wrote:I take it this means only SLB can be used to select Linux to boot?
You are right in that AmigaBoot can't AFAIK load Linux. I don't know how SLB works (we don't have the sources), but on the X1000 and later, Linux is loaded by the BIOS, CFE or U-Boot.
I wasn't aware the SLB sources are missing. There are some include files in the ACube UBoot source regarding SLB. SLB would work like Parthenope. I know the Linux booting routines would be based on GRUB. But a simplication where it scans the boot sources for an Ext2 F/S and mounts it using UBoot as it looks for a /boot/atboot.conf file.

I've done some experiments and think AmigaBoot may be unable to boot Linux directly because the kernel and ramdisk are far bigger than any Kickstart module. Thus it is too big for it to load in. Buit I don't know how AmigaBoot works in this regard either. :-)
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1479
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by tonyw »

They're not missing, just kept by the author.

AmigaBoot has to read the selected boot device to load the data. It first identifies the file system and then looks for Kickstart/kicklayout. It recognises FFS, SFS and NGFileSystem only.

It would be possible to modify AmigaBoot to read Linux volumes, but what for? The underlying U-Boot/CFE can already load and run a Linux volume. We use AmigaBoot (or the old SLB) simply because U-Boot can't read our file systems (directly).
cheers
tony
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Hypex »

tonyw wrote:They're not missing, just kept by the author.
Sometimes I wonder what it is with Amiga people and politics? Things are already hanging on a string as it is in view of the whole computer world. And yet we have fracturing causing divisions. I don't know. Can't we all just get along. :-)
It would be possible to modify AmigaBoot to read Linux volumes, but what for? The underlying U-Boot/CFE can already load and run a Linux volume.
So we could simply pick it off the menu list and allow installers to add an entry. CFE may load Linux but it is bad at it, even though it was designed for it. A menu has to be added manually. It can't load off an RDB HDD.

However, I think the existing AmigaBoot system can be used to support Linux. It can already load files in and supports a loader as well as merging configs across volumes. So I think it would be possible to set up a Linux boot volume, formatted as FFS (or SFS), add Linux root volumes into a Kicklayout, and be able to select one for boot. It would just need a custom loader that can read the kernel and ramdisk from the boot said volume and jump to it.

Having said that, what infomation is there for doing such a thing? I know somehow (and don't know why) that both Pegasos and X1000 use OpenFirmware loaders. Are there include files or a guide as to how an OF program could be compiled on CFE? There exists infomation on writing UBoot binaries. But what about CFE?
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1479
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by tonyw »

There is some limited documentation provided with the sources for AmigaBoot. "Limited" in that it is a ReadMe file to assist programmers to add support for a new file system. That's how I added support for booting from an NGFS volume.

To use AmigaBoot to load Linux, you would have to:
(1) Write code for the EXT3 file system (and any other Linux FS that you wanted to read);
(2) Modify the "common" part of AmigaBoot which currently scans RDBs and searches for a Kickstart/Kicklayout file;
(3) Modify the part of AmigaBoot that currently loads all the Kickstart modules into memory and jumps to the Loader.

It's a lot of work that wpuld only duplicate what is already there in the parent BIOS. AmigaBoot is only a program that the parent BIOS runs when you type "boota".
cheers
tony
Spectre660
Posts: 1525
Joined: Sat Jun 18, 2011 2:16 pm
Location: Montserrat

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Spectre660 »

For the X5000 not worth the effort.
The Kernel and .dtb file can be stored on the micro SDcard.
Once the kernel loads via Uboot (a couple of seconds) it can deal with booting a linux partition even on a RDB disk.

Method also works with internal SD card on a Sam460ex. much slower than the X5000 MicroSD but usable.
Guess that I am the only person using the newer kernels than have to be booted this way on the Sam460ex though. :D

tonyw wrote:There is some limited documentation provided with the sources for AmigaBoot. "Limited" in that it is a ReadMe file to assist programmers to add support for a new file system. That's how I added support for booting from an NGFS volume.

To use AmigaBoot to load Linux, you would have to:
(1) Write code for the EXT3 file system (and any other Linux FS that you wanted to read);
(2) Modify the "common" part of AmigaBoot which currently scans RDBs and searches for a Kickstart/Kicklayout file;
(3) Modify the part of AmigaBoot that currently loads all the Kickstart modules into memory and jumps to the Loader.

It's a lot of work that wpuld only duplicate what is already there in the parent BIOS. AmigaBoot is only a program that the parent BIOS runs when you type "boota".
Sam460ex : Radeon Rx550 Single slot Video Card : SIL3112 SATA card
Belxjander
Posts: 314
Joined: Mon May 14, 2012 10:26 pm
Location: 日本千葉県松戸市 / Matsudo City, Chiba, Japan
Contact:

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Belxjander »

What is the latest for getting a dual-boot sam440 happening?

I'm personally looking at building a second AmigaOS4 capable machine to boot from microSD/SD card and migrating the sam440 over to being a massive disk storage machine (hell I have 3TB in it already, and 2 extra disks I am using for filesystem testing other things - which isn't yet anywhere near stable despite being able to have up to 8GB for a single file before indirection so far, just because of how I handle extent recording)

Is there any option for chainloading or providing modules for amigaboot or however uboot "boota" works to access filesystems usinh modules for bootstrapping?
Spectre660 wrote:For the X5000 not worth the effort.
The Kernel and .dtb file can be stored on the micro SDcard.
Once the kernel loads via Uboot (a couple of seconds) it can deal with booting a linux partition even on a RDB disk.

Method also works with internal SD card on a Sam460ex. much slower than the X5000 MicroSD but usable.
Guess that I am the only person using the newer kernels than have to be booted this way on the Sam460ex though. :D

tonyw wrote:There is some limited documentation provided with the sources for AmigaBoot. "Limited" in that it is a ReadMe file to assist programmers to add support for a new file system. That's how I added support for booting from an NGFS volume.

To use AmigaBoot to load Linux, you would have to:
(1) Write code for the EXT3 file system (and any other Linux FS that you wanted to read);
(2) Modify the "common" part of AmigaBoot which currently scans RDBs and searches for a Kickstart/Kicklayout file;
(3) Modify the part of AmigaBoot that currently loads all the Kickstart modules into memory and jumps to the Loader.

It's a lot of work that wpuld only duplicate what is already there in the parent BIOS. AmigaBoot is only a program that the parent BIOS runs when you type "boota".
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

Re: Where do I find Documentation/kernel/bootloader.txt?

Post by Hypex »

tonyw wrote:There is some limited documentation provided with the sources for AmigaBoot. "Limited" in that it is a ReadMe file to assist programmers to add support for a new file system. That's how I added support for booting from an NGFS volume.
Is the source or even just the ReadMe available to the OS4 public or beta testers? Or just to developers like yourself?
To use AmigaBoot to load Linux, you would have to:
...

That sounds like what SLB would do. Or what in fact ub2lb does do with UBoot assistance.
It's a lot of work that would only duplicate what is already there in the parent BIOS. AmigaBoot is only a program that the parent BIOS runs when you type "boota".
It would be a lot of work which why I like to find the simplest method possible that can also do the best job where possible. That's why I was thinking of using AmigaBoot to do what it does now rather than try to re-implement it. I would avoid making another or modifying it because then another needs to be put on the system which complicates the process. So, in my mind, utilising a Kicklayout in a normal AmigaBoot supported file system would be the way to go. Just a loader and config file specifying Linux files should be all that's needed. The loader would then load in the kernel and ramdisk from same file system and jump to it, letting it scan for Linux volumes and figure the rest out. I may have made that sound more complicated than I intended. :-)
Post Reply