Tiny Core Linux
Tiny Core Base => Micro Core => Topic started by: TC_Noob on May 16, 2014, 04:11:28 PM
-
Hi, Linux noob here. I want to modify the isolinux.cfg file:
display boot.msg
default microcore
label microcore
kernel /boot/vmlinuz
append initrd=/boot/core.gz loglevel=3
label mc
kernel /boot/vmlinuz
append initrd=/boot/core.gz loglevel=3
implicit 0
prompt 1
timeout 300
F1 boot.msg
F2 f2
F3 f3
F4 f4
...to bypass the prompt to press <Enter>, F2, F3 or F4 and instead boot to a message like "hello world, press any key", and when the user presses a key it displays the current IP address (by invoking IFCONFIG ETH0).
Sounds simple enough, just need help getting started...
-
There is no current IP address. Core is not running at this point.
-
Ok, but when booting, I hit enter and get to the prompt and IFCONFIG eth0 works. How would I remove the need to press Enter (I assume to remove a few lines from the isolinux.cfg file) and display the address?
-
Ok, but when booting, I hit enter and get to the prompt and IFCONFIG eth0 works. How would I remove the need to press Enter (I assume to remove a few lines from the isolinux.cfg file) and display the address?
- Confirmed. It goes straight to the prompt when modified to:
display boot.msg
default microcore
label microcore
kernel /boot/vmlinuz
append initrd=/boot/core.gz loglevel=3
label mc
kernel /boot/vmlinuz
append initrd=/boot/core.gz loglevel=3
So at this point, I just want a prompt to press a key, then after pressing a key to display the result of IFCONFIG ETH0.
-
If you hit enter, you boot core.
When you get a prompt, you are in core, not the boot loader.
If you want to show your IP address, you need to have a persistent tce directory.
Then you can add a script to /opt/bootlocal that loops until an IP address has been assigned, and then displays the IP address.
Look at /etc/init.d/settime.sh as an example on how to wait until an IP address is assigned.
-
Thanks for your help, gerald_clark
I was able to use settime.sh as a starting point to get my script working (in bootsync.sh). Now I'd like to create an ISO out of my small TinyCore USB "distro" that I can share with colleagues, but the line in syslinux.cfg:
APPEND initrd=/tce/boot/core.gz quiet waitusb=5:UUID="A4C9-9126" tce=UUID="A4C9-9126" ...seems to personalize the environment to my specific USB drive. It gives an error "no caching mode page present" and goes straight to the CLI prompt when booting from another USB drive.
How can I modify my working USB utility so that an ISO can be created and installed on other USB drives?
-
You need to change the syslinux.cfg to contain the UUID of the partition on the new drive.
You might want to look at ezremaster.
-
Isn't there a "drive agnostic" setting? We are in a Windows environment and I'd like people to create their own USB drives from an ISO file (which they know how to do in win).
It doesn't have to be writeable, can't it just be like a read-only version?
-
If there is only one tce directory on all attached drives, it is not necessary to specify the tce= boot option.
Just include 'waitusb=5'
-
So syslinux.cfg now reads:
DEFAULT core
LABEL core
KERNEL /tce/boot/vmlinuz
APPEND initrd=/tce/boot/core.gz quiet waitusb=5
The script now runs correctly but it still gives three sd 6:0:0:0: [sdb] No Caching mode page present
right after it starts the udev daemon.
-
I just used ezremaster to get a working ISO. Thanks for your help!
-
The script now runs correctly but it still gives three sd 6:0:0:0: [sdb] No Caching mode page present
right after it starts the udev daemon.
you may use loglevel=3 in place of quiet to hide the erroneous message which is normal response to a USB thumb drive
APPEND initrd=/tce/boot/core.gz loglevel=3 waitusb=5