[linux-sh:03379] Booting initrd from ROM

"Gaurav Khurana" <[email protected]> Mon, 20 Dec 2004 20:05:28 +0530
Newsgroups gmane.linux.ports.sh.general,gmane.linux.uclinux.devel
Message-ID <33BC33A9E76474479B76AD0DE8A169728DEF@exch-ntd.nec.noida.hcltech.com>
This is a multi-part message in MIME format.

------_=_NextPart_001_01C4E6A1.6B6B42F2
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi,

Attached here is the patch and HOWTO for mounting initrd from ROM.
I have tested this patch on uClinux-2.4.27-uc1 and SH4 BigSurIV board
(as this is the only one I have).

Currently in ROM boot kernel, the kernel copies the initrd from ROM to
_end ( in RAM ) and mounts it from there.

This patch removes this copying of initrd image and changes the address
of initrd_start ( default :- _end ) which specifies the start address of
initrd image.

It will add an option to the kernel configuration to allow the kernel
mount the initrd from ROM.

To apply this patch, do -
1. cd uClinux-dist
2. patch -p0 <
${dir_where_patch_is_located}/linux-sh-initrd-rom-2.4.27-uc1.patch

This will add another option in the kernel configuration "Boot initrd
from ROM". To use this option you need to both "Boot from ROM" and
"Snapgear romfs/bootarg support" options.


Please give your valuable suggestions.
Please include this patch in the mainline if found useful.


Thanks and Regards,
Gaurav Khurana


------_=_NextPart_001_01C4E6A1.6B6B42F2
Content-Type: application/octet-stream;
	name="linux-sh-initrd-rom-2.4.27-uc1.patch"
Content-Transfer-Encoding: base64
Content-Description: linux-sh-initrd-rom-2.4.27-uc1.patch
Content-Disposition: attachment;
	filename="linux-sh-initrd-rom-2.4.27-uc1.patch"

ZGlmZiAtTmF1ciB1Q2xpbnV4LW9yaWcvYXJjaC9zaC9jb25maWcuaW4gdUNsaW51eC0yLjQueC9h
cmNoL3NoL2NvbmZpZy5pbg0KLS0tIHVDbGludXgtb3JpZy9hcmNoL3NoL2NvbmZpZy5pbgkyMDA0
LTExLTE3IDE5OjQ2OjA5LjAwMDAwMDAwMCArMDUzMA0KKysrIHVDbGludXgtMi40LngvYXJjaC9z
aC9jb25maWcuaW4JMjAwNC0xMi0xNyAxMjoyNDoxMS4wMDAwMDAwMDAgKzA1MzANCkBAIC0xODcs
OCArMTg3LDEyIEBADQogDQogaWYgWyAiJENPTkZJR19TSF9ST01CT09UIiA9ICJ5IiBdOyB0aGVu
DQogCWhleCAnT2Zmc2V0IGludG8gUk9NIHRvIHN0b3JlIGltYWdlIGF0JyBDT05GSUdfUk9NX1NU
T1JFX09GRlNFVCAxMDAwMDANCisJaWYgWyAiJENPTkZJR19TSF9TTkFQR0VBUiIgPSAieSIgXTsg
dGhlbg0KKwkJYm9vbCAnQm9vdCBpbml0cmQgZnJvbSBST00nIENPTkZJR19TSF9JTklUUkRfUk9N
DQorCWZpDQogZmkNCiANCisNCiBkZXBfYm9vbCAnRW5hYmxlIE9DIFJBTSB6b25lIChleHBlcmlt
ZW50YWwpJyBDT05GSUdfU0NSQVRDSF9TUEFDRSAkQ09ORklHX0VYUEVSSU1FTlRBTA0KIGJvb2wg
J0RTUCBtb2RlIHN1cHBvcnQnIENPTkZJR19TSF9EU1ANCiANCmRpZmYgLU5hdXIgdUNsaW51eC1v
cmlnL2FyY2gvc2gva2VybmVsL2hlYWQuUyB1Q2xpbnV4LTIuNC54L2FyY2gvc2gva2VybmVsL2hl
YWQuUw0KLS0tIHVDbGludXgtb3JpZy9hcmNoL3NoL2tlcm5lbC9oZWFkLlMJMjAwNC0wNi0yNSAx
MToyMjo1OS4wMDAwMDAwMDAgKzA1MzANCisrKyB1Q2xpbnV4LTIuNC54L2FyY2gvc2gva2VybmVs
L2hlYWQuUwkyMDA0LTEyLTE3IDEzOjIwOjIyLjAwMDAwMDAwMCArMDUzMA0KQEAgLTI1LDcgKzI1
LDEyIEBADQogCS5sb25nCTB4MDEwMAkJLyogT1JJR19ST09UX0RFViAqLw0KIAkubG9uZwkxCQkv
KiBMT0FERVJfVFlQRSAqLw0KICNpZiBkZWZpbmVkKENPTkZJR19TSF9TTkFQR0VBUikNCi0JLmxv
bmcJX2VuZAkJLyogSU5JVFJEX1NUQVJUICovDQorI2lmIGRlZmluZWQgKENPTkZJR19TSF9JTklU
UkRfUk9NKQ0KKyAgICAubG9uZyAgIF9pbml0cmRfcm9tICAgICAgICAvKiBJTklUUkRfU1RBUlQg
Ki8NCisjZWxzZQ0KKyAgICAubG9uZyAgIF9lbmQgICAgICAgIC8qIElOSVRSRF9TVEFSVCAqLw0K
KyNlbmRpZg0KKyAgICAubG9uZyAgIDB4MDAwMDAwICAgIC8qIElOSVRSRF9TSVpFICovDQogCS5s
b25nCTB4MDAwMDAwCS8qIElOSVRSRF9TSVpFICovDQogI2Vsc2UNCiAJLmxvbmcJMHgwMDM2MDAw
MAkvKiBJTklUUkRfU1RBUlQgKi8NCmRpZmYgLU5hdXIgdUNsaW51eC1vcmlnL2FyY2gvc2gva2Vy
bmVsL3NldHVwLmMgdUNsaW51eC0yLjQueC9hcmNoL3NoL2tlcm5lbC9zZXR1cC5jDQotLS0gdUNs
aW51eC1vcmlnL2FyY2gvc2gva2VybmVsL3NldHVwLmMJMjAwNC0wNi0yNSAxMToyMjo1OS4wMDAw
MDAwMDAgKzA1MzANCisrKyB1Q2xpbnV4LTIuNC54L2FyY2gvc2gva2VybmVsL3NldHVwLmMJMjAw
NC0xMi0xNyAxNjoxMDowOS4wMDAwMDAwMDAgKzA1MzANCkBAIC0xNTcsOSArMTU3LDE0IEBADQog
CXVuc2lnbmVkIGxvbmcJKnNwLCAqZHAsIGxlbjsNCiAJZXh0ZXJuIGludCBfX2Jzc19zdGFydDsN
CiAjaWZkZWYgQ09ORklHX1NIX1JPTUJPT1QNCisjaWZkZWYgQ09ORklHX1NIX0lOSVRSRF9ST00N
CisgICAgZXh0ZXJuIGludCBfaW5pdHJkX3JvbTsNCisgICAgc3AgPSAodW5zaWduZWQgbG9uZyAq
KSAmX2luaXRyZF9yb207DQorI2Vsc2UNCiAJZXh0ZXJuIGludCBfbWVtX3N0YXJ0LCBfcm9tX3N0
b3JlOw0KIA0KLQlzcCA9ICh1bnNpZ25lZCBsb25nICopICZfX2Jzc19zdGFydCAtICgoX21lbV9z
dGFydCAtIF9yb21fc3RvcmUpIC8gNCk7DQorCXNwID0gKHVuc2lnbmVkIGxvbmcgKikgKCZfX2Jz
c19zdGFydCAtICgmX21lbV9zdGFydCAtICZfcm9tX3N0b3JlKSk7DQorI2VuZGlmDQogI2Vsc2UN
CiAJc3AgPSAodW5zaWduZWQgbG9uZyAqKSAmX19ic3Nfc3RhcnQ7DQogI2VuZGlmDQpAQCAtMTc3
LDEyICsxODIsMTQgQEANCiAJbGVuID0gKGxlbiArIDB4ZmZmKSAmIH4weGZmZjsgLyogbWFrZSBp
dCBhIG11bHRpcGxlIG9mIGEgcGFnZSAqLw0KIAlJTklUUkRfU0laRSA9IGxlbjsNCiANCisjaWZu
ZGVmIENPTkZJR19TSF9JTklUUkRfUk9NDQogCXNwICs9IChsZW4gLyA0KTsNCiAJZHAgKz0gKGxl
biAvIDQpOw0KIA0KIAkvKiBjb3B5IGJhY2t3YXJkcyB0byBhdm9pZCB3cml0aW5nIG92ZXIgb3Vy
c2VsdmVzICovDQogCXdoaWxlIChkcCA+PSAoKHVuc2lnbmVkIGxvbmcgKikgJl9lbmQpKQ0KIAkJ
KmRwLS0gPSAqc3AtLTsNCisjZW5kaWYNCiB9DQogI2VuZGlmDQogDQpAQCAtNTQ0LDcgKzU1MSwx
MiBAQA0KICNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQNCiAJaWYgKExPQURFUl9UWVBFICYm
IElOSVRSRF9TVEFSVCAmJiBJTklUUkRfU0laRSkgew0KIAkJaWYgKElOSVRSRF9TVEFSVCArIElO
SVRSRF9TSVpFIDw9IChtYXhfbG93X3BmbiA8PCBQQUdFX1NISUZUKSkgew0KKyNpZm5kZWYgQ09O
RklHX1NIX0lOSVRSRF9ST00NCiAJCQlpZiAoSU5JVFJEX1NUQVJUID09IF9fcGEoJl9lbmQpKSB7
DQorI2Vsc2UNCisJCQlleHRlcm4gaW50IF9pbml0cmRfcm9tOw0KKwkJCWlmIChJTklUUkRfU1RB
UlQgPT0gX19wYSgmX2luaXRyZF9yb20pKSB7DQorI2VuZGlmDQogCQkJCWluaXRyZF9zdGFydCA9
IElOSVRSRF9TVEFSVCArIFBBR0VfT0ZGU0VUOw0KIAkJCX0gZWxzZSB7DQogCQkJCXJlc2VydmVf
Ym9vdG1lbV9ub2RlKE5PREVfREFUQSgwKSwgSU5JVFJEX1NUQVJUK19fTUVNT1JZX1NUQVJULCBJ
TklUUkRfU0laRSk7DQpkaWZmIC1OYXVyIHVDbGludXgtb3JpZy9hcmNoL3NoL3ZtbGludXgubGRz
LnJvbS5TIHVDbGludXgtMi40LngvYXJjaC9zaC92bWxpbnV4Lmxkcy5yb20uUw0KLS0tIHVDbGlu
dXgtb3JpZy9hcmNoL3NoL3ZtbGludXgubGRzLnJvbS5TCTIwMDQtMTEtMTcgMTk6NDY6MTAuMDAw
MDAwMDAwICswNTMwDQorKysgdUNsaW51eC0yLjQueC9hcmNoL3NoL3ZtbGludXgubGRzLnJvbS5T
CTIwMDQtMTItMTcgMTk6NTE6MzUuMDAwMDAwMDAwICswNTMwDQpAQCAtNDMsOSArNDMsNyBAQA0K
IA0KIA0KIA0KLSAgX2N0ciA9IC47DQogICAuID0gQUxJR04oMTYpOwkJLyogRXhjZXB0aW9uIHRh
YmxlICovDQotICBfY3RyID0gX2N0ciAtIC47DQogICBfX3N0YXJ0X19fZXhfdGFibGUgPSAuOw0K
ICAgX19leF90YWJsZSA6IEFUKCBBRERSKC5rc3RydGFiKSArIFNJWkVPRigua3N0cnRhYikgKyAN
CiAJCQkJKF9tZW1fc3RhcnQgLSBfcm9tX3N0b3JlKSkgeyAqKF9fZXhfdGFibGUpIH0NCkBAIC02
Miw4ICs2MCw5IEBADQogICBfX3N0b3BfX19rYWxsc3ltcyA9IC47DQogDQogICAuID0gQUREUihf
X2thbGxzeW1zKSArIFNJWkVPRihfX2thbGxzeW1zKQ0KLQkJCQkrIChfbWVtX3N0YXJ0IC0gX3Jv
bV9zdG9yZSkgKyBfY3RyOw0KKyAgICAgICAgICAgICAgICArIChfbWVtX3N0YXJ0IC0gX3JvbV9z
dG9yZSk7DQogDQorICAuID0gQUxJR04oMTYpOw0KICAgX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2Yg
dGV4dCBzZWN0aW9uICovDQogDQogICAuZGF0YSA6IHsJCQkvKiBEYXRhICovDQpAQCAtMTA3LDcg
KzEwNiw5IEBADQogDQogICAuID0gQUxJR04oNCk7DQogICBfX2Jzc19zdGFydCA9IC47CQkvKiBC
U1MgKi8NCisjaWZkZWYgQ09ORklHX1NIX0lOSVRSRF9ST00NCiAgIF9pbml0cmRfcm9tID0gLiAt
IChfbWVtX3N0YXJ0IC0gX3JvbV9zdG9yZSk7DQorI2VuZGlmDQogDQogICAuYnNzIDogew0KIAkq
KC5ic3MpDQpkaWZmIC1OYXVyIHVDbGludXgtb3JpZy9kcml2ZXJzL2Jsb2NrL3JkLmMgdUNsaW51
eC0yLjQueC9kcml2ZXJzL2Jsb2NrL3JkLmMNCi0tLSB1Q2xpbnV4LW9yaWcvZHJpdmVycy9ibG9j
ay9yZC5jCTIwMDQtMTEtMTcgMTk6NDY6MzEuMDAwMDAwMDAwICswNTMwDQorKysgdUNsaW51eC0y
LjQueC9kcml2ZXJzL2Jsb2NrL3JkLmMJMjAwNC0xMi0yMCAxNToyMDozMi4wMDAwMDAwMDAgKzA1
MzANCkBAIC03MSw4ICs3MSwxMiBAQA0KICNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQNCiBz
dGF0aWMgaW50IGluaXRyZF91c2VyczsNCiB1bnNpZ25lZCBsb25nIGluaXRyZF9zdGFydCwgaW5p
dHJkX2VuZDsNCisjaWZkZWYgQ09ORklHX1NIX0lOSVRSRF9ST00NCitpbnQgaW5pdHJkX2JlbG93
X3N0YXJ0X29rID0gMTsNCisjZWxzZQ0KIGludCBpbml0cmRfYmVsb3dfc3RhcnRfb2s7DQogI2Vu
ZGlmDQorI2VuZGlmDQogDQogLyogVmFyaW91cyBzdGF0aWMgdmFyaWFibGVzIGdvIGhlcmUuICBN
b3N0IGFyZSB1c2VkIG9ubHkgaW4gdGhlIFJBTSBkaXNrIGNvZGUuDQogICovDQpAQCAtMzQ2LDcg
KzM1MCw3IEBADQogew0KIAlleHRlcm4gdm9pZCBmcmVlX2luaXRyZF9tZW0odW5zaWduZWQgbG9u
ZywgdW5zaWduZWQgbG9uZyk7DQogDQotI2lmbmRlZiBDT05GSUdfQkxLX0RFVl9SQU1ESVNLX0RB
VEENCisjaWYgISBkZWZpbmVkIChDT05GSUdfQkxLX0RFVl9SQU1ESVNLX0RBVEEpICYmICEgZGVm
aW5lZCAoQ09ORklHX1NIX0lOSVRSRF9ST00pDQogCS8qIGRvbid0IGZyZWUgcmFtZGlzayBpZiBk
YXRhIGlzIGNvbXBpbGVkIGluICovDQogCWxvY2tfa2VybmVsKCk7DQogCWlmICghLS1pbml0cmRf
dXNlcnMpIHsNCg==

------_=_NextPart_001_01C4E6A1.6B6B42F2--