Могут ли программы initramfs получить доступ ко всей памяти - работают ли они в реальном или защищенном режиме?

после того, как вы установили Java в свою систему, вам нужно сделать, как я упоминаю здесь:

#mv apache-tomcat-7 /opt

#useradd tomcat

#chown -R tomcat:tomcat / opt/apache-tomcat-7

Чтобы установить tomcat, вам нужно запустить startup.sh

#cd /opt/apache-tomcat…

#./bin/startup.sh

теперь вы делаете tomcat в каталоге init.d для запуска tomcat как службы.

#vim /etc/init.d/tomcat

  • скопируйте и вставьте следующий скрипт в ваш файл tomcat, измените каталоги, как в вашей системе

#!/bin/bash

# chkconfig: 234 20 80

# описание: базовый сценарий запуска/остановки сервера Tomcat

export TOMCAT_HOME=/opt/apache-tomcat-7 START_TOMCAT=${TOMCAT_HOME}/bin/startup.sh STOP_TOMCAT=${TOMCAT_HOME}/bin/shutdown.sh

export downloadPath=/tmp

export JAVA_OPTS="-Xms2g -Xmx2g -XX:PermSize=512m -XX:MaxPermSize=512 м"

start() { echo -n "Запуск кота: " cd ${TOMCAT_HOME}/bin su -p -s /bin/sh кот ${START_TOMCAT} эхо "сделано". }

стоп() { echo -n "Выключение кота: " cd ${TOMCAT_HOME}/bin su -p -s /bin/sh кот ${STOP_TOMCAT} спать 5 для pid в ps -ef | grep org.apache.catalina.startup.Bootstrap | grep -v grep | авк '{печать $2}' | xargs делать убить -9 $pid Выполнено эхо "сделано". }

case "$1" в

  start)
Начало
 ;;

останавливаться)
останавливаться
 ;;

начать сначала)
останавливаться
Начало
 ;;

 *)
echo "Использование: $0 {start|stop|restart}"
 

esac

выход 0

chmod +x /etc/init.d/tomcat

chkconfig --add tomcat

su - tomcat

service tomcat start

обратите внимание, что размеры Permsize, xms и xmx являются необязательными, и вам необходимо узнать точную сумму у разработчиков.

Если вам нужна помощь в создании пользователей для веб-входа на tomcat, спросите.

1
18.07.2016, 04:54
2 ответа

Файловая система initramfs , по сути, является просто еще одной файловой системой, которая загружается по адресу / , и программы, которые в нем выполняются, запускаются из пользовательского пространства под работающим ядром. Это означает, что они имеют те же ограничения, что и любая другая программа.

Вы можете найти нужные данные через / dev / mem , но вам, вероятно, не следует полагаться на конкретные реализации iPXE ; разные поставщики и разные процессы PXEboot могут легко изменить ситуацию.

Обычно информация, которую вы должны передать как часть команды вызова ядра, сделать видимой в / proc / cmdline , где программы пользовательского пространства могут анализировать ее и делать все необходимое.

0
28.01.2020, 01:14

Программы, запускаемые из initramfs, являются совершенно обычными программами. Они работают как любой другой процесс Linux.

Переключение из реального режима (унаследованный режим загрузки 32-битных процессоров x86) в защищенный режим (нормальный рабочий режим 32-битных процессоров x86 с поколения 286) происходит очень рано в процессе загрузки ядра Linux. В этот момент даже водители не стартовали.

Если ваше периферийное устройство хранит что-то по определенному физическому адресу, вы можете получить к нему доступ через устройство / dev / mem . Вам нужно будет указать ядру не использовать этот диапазон физических адресов, я не знаю, как это сделать (у IIRC есть опция командной строки ядра для этого, но я не могу ее найти прямо сейчас).

То, что вам нужно, может уже существовать как часть общей функции ACPI, что дает вам доступ к необработанным данным ACPI, но не к анализируемым данным, таким как iscsi_bft .

0
28.01.2020, 01:14

Теги

Похожие вопросы