48 lines
1.9 KiB
Forth
48 lines
1.9 KiB
Forth
\ OLPC XO boot script
|
|
|
|
: (visible) " unfreeze visible" evaluate ;
|
|
' (visible) catch drop forget (visible)
|
|
|
|
" /aliases" find-device " last" get-property
|
|
abort" No last alias"
|
|
" /pci/sd@c" 2over substring? if " root=/dev/mmcblk0p1 " to boot-file then
|
|
" /sd/sdhci@d4280000" 2over substring? if " root=/dev/mmcblk1p1 " to boot-file then
|
|
" /pci/usb@" 2over substring? if " root=/dev/sda1 " to boot-file then
|
|
" /usb@" 2over substring? if " root=/dev/sda1 " to boot-file then
|
|
" /pci/nandflash@c" 2over substring? if " root=/dev/mtdblock0 rootfstype=jffs2 " to boot-file then
|
|
2drop
|
|
|
|
root-device " compatible" get-property dend if 0 0 then ( compatible$ )
|
|
" olpc,xo-1.75" 2over sindex -1 > if ( compatible$ )
|
|
\ Version check on XO-1.75
|
|
" mrvl,mmp2" 2over sindex -1 = if ( compatible$ )
|
|
2drop ( )
|
|
cr
|
|
." Firmware Q4E00 or newer is needed to boot a Devicetree enabled kernel." cr
|
|
cr
|
|
." One way to update is to copy http://dev.laptop.org/~quozl/q4e00ja.rom" cr
|
|
." to a FAT partition on a USB flash stick and run ""flash u:\q4e00ja.rom""" cr
|
|
cr
|
|
." Aborting boot." cr
|
|
" show-sad" evaluate
|
|
abort
|
|
then
|
|
then ( compatible$ )
|
|
|
|
" mmp" 2swap sindex -1 > if
|
|
\ A Marvell MMP-based machine
|
|
" last:\boot\zImage" to boot-device
|
|
boot-file " console=ttyS2,115200 " $cat2 to boot-file
|
|
else
|
|
\ Assume XO-1
|
|
" last:\boot\bzImage" to boot-device
|
|
boot-file " console=ttyS0,115200 reboot=pci " $cat2 to boot-file
|
|
then
|
|
|
|
\ Pick a terminal that looks better on the XO screen
|
|
root-device " architecture" get-property dend if 0 0 else 1- then
|
|
" OLPC" $= if boot-file " fbcon=font:TER16x32 vt.color=0xf0 " $cat2 to boot-file then
|
|
|
|
boot-file " console=tty0 rootwait" $cat2 to boot-file
|
|
boot
|